13

ビルドとは、コンパイルとリンクで構成されるシーケンスです。

.NET では、ソース コードは共通中間言語と型情報を含むアセンブリにコンパイルされます。実行時に、JIT コンパイラは CIL コードをネイティブ コードに変換します。

.NET では、リンクがいつ、どのように行われるのかわかりません。

誰かがプロセスを説明してもらえますか?

前もって感謝します

4

1 に答える 1

12

C++ に関するリンクはありません。

つまり、後で別の「obj」ファイルに配布してリンクできる中間の「obj」/「lib」ファイルはありません。アセンブリへの参照は、C++ の静的リンクとは対照的に、常に動的な動作 (常に動的リンク ライブラリ) を持ちます。

リンクのようなものはの作成です.netmodule.netmoduleアセンブリの代わりにコンパイラを使用して .NET ソース コードをビルドし(ここを参照、特に「C# コンパイラと C++ コンパイラ出力の違い」セクションを参照)、後でこれらのモジュールを単一のアセンブリにリンクできます ( al.exeを参照)。

しかし、これは一般的ではありません。ほとんどのアセンブリには単一のモジュールが含まれており、この作業 (ソース -> モジュール -> アセンブリ) はコンパイラ (例: csc.exe) によって舞台裏で行われています。また、(アセンブリ.netmoduleのセットとしてではなく)セットとして再配布された製品を思い出せません。

于 2012-08-27T10:13:54.120 に答える