0

Visual Studio 2010 Ultimate Edition でプロジェクトを開発しています。「デバッグの開始」ボタンを押すと、コンパイルが開始され、エラーが発生します

「エラー リンク 1310: 純粋なエクスポートはサポートされていません。MSIL イメージは ....」

問題を解決する方法がわかりません。共通言語ランタイムのコンパイルのオプションの問題であると思われますが、ドキュメントのこの部分がわかりませんhttp://msdn.microsoft.com/en-us/ライブラリ/k8d11d4s%28v=vs.90%29.aspx .

4

1 に答える 1

1

さて、オプションを /clr:pure から単純な /clr に変更すると、エラーが発生しなくなります。プロジェクトを右クリックし、[プロパティ]、[一般]、[共通言語ランタイム サポート] 設定を選択します。

/clr:pure オプションを指定すると、コンパイラは IL のみを省略し、マシン コードは許可されません。そのオプションを使用して関数をエクスポートすることはできません。コンパイラは、CLR が読み込まれ、コードがネイティブからマネージド実行に移行することを保証するエクスポート用のスタブを生成する必要があります。そのスタブにはマシン コードが必要です。

それがあなたが本当に望んでいるものかどうかは、質問から推測することはできません。一般に、/clr:pure オプションはあまり意味がありません。C# または VB.NET でコードを記述した方がよいでしょう。C++/CLI 言語は、ネイティブ コードと相互運用する必要がある場合に最適な武器です。エクスポート スタブは確かに便利です。これにより、CLR を自分でホストしたり、COM プログラミングで迷子になったりする必要がなくなります。ただし、特に速いわけではないことに注意してください。

于 2012-06-10T18:37:46.910 に答える