[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends:00109] Re: Microsoft C#
-----------------------------------------------------------------[PR]---
『 eSampoして、深呼吸しよ 』
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
無料のメールアドレス&プレゼント三昧でハートウォーキング
___ クリックしたら暮らしが変わる→ http://www.easyml.com/686.php3
-PR------------------------------------------------------------------PR-
上原です。
Hiroshi Kuno <hkuno@xxxxxxxxxxxxxxxx> writes:
> > オブジェクトがCOMになる、という記述があった(というか
> > そういう風に読めた)ので、Windows専用?と思っていたんですが、
> > そういえば、COMはプラットホーム非依存でしたね。
>
> おお、なるほど。
> C#の実行コードがクロスプラットホームなのではなくて、
> C#で作った object が COM になるのでOS・言語独立ということか。
> そっちの方が可能性高いです。
そうですね。僕もそう思います。またintrotoc.docからの引用ですが、
Namespaces and assemblies
.........
There are two main kinds of assemblies: applications and
libraries. Applications have a main entry point and usually have a
file extension of .exe; libraries do not have a main entry point, and
usually have a file extension of .dll.
.........
The code we have written can be compiled into a library containing the
class HelloMessage and an application containing the class
HelloApp. The details of this compilation step might differ based on
the compiler or tool being used. Using the command-line compiler
provided in Visual Studio 7.0, the correct invocations are
csc /target:library HelloLibrary.cs
which produces the class library HelloLibrary.dll and
csc /reference:HelloLibrary.dll HelloApp.cs
which produces the application HelloApp.exe.
--------(拙訳)
主な部品(アセンブリ)には2種類あります:アプリケーションとライブラ
リです。 アプリケーションはメインエントリポイントを持ち、通常ファイ
ル拡張子「.exe」を持ちます。ライブラリはメインエントリポイントを持
たず、通常ファイル拡張子「.dll」を持ちます。
我々が書いたコードは、クラス HelloMessage を含んでいるライブラリと
クラス HelloApp を含んでいるアプリケーションにコンパイルされます。
このコンパイルステップの細部はコンパイラあるいは使用しているツール
によって異なるかもしれません。 Visual Studio 7.0が提供するコマン
ドラインコンパイラを使う場合、正しい実行方法は以下のとおりです。
csc /target:library HelloLibrary.cs
これはクラス・ライブラリ HelloLibrary.dll を生成します。
csc /reference:HelloLibrary.dll HelloApp.cs
これはアプリケーション HelloApp.exe を生成します
---------
とあり、exeとdllが出来るようですが、きっとこのdllはアウトプロセスのCOM
オブジェクトがtype libraryとともに含まれており、regsvr32とかでdllとし
てシステムに登録できるんじゃないかと思います。
ただまあ、そうであってもnativeコードではなく中間コードインタプリタでは
ありうるわけですが。
いずれにせよ、C#でIDLとかGUIDとかtype libraryとかATLとかを意識せずに
COMを使えるのなら、かなり良さげです。
--
§NTTS○FT 技術開発部エレクトロニックコマース技術センター 上原 潤二 §
PGP Key fingerprint = B7 C0 CB 1F 1C 88 69 2A 25 36 8A EE 93 A3 61 72