3

管理されたメタデータ (Reflector で表示) からネイティブのプレースホルダー定義を非表示にする方法はありますか?

/clr を使用してコンパイルされたファイルと、/clr を使用せずにコンパイルされたファイルを含む混合モードの C++/CLI アセンブリを作成しています。

ネイティブ コードでのみブーストと MFC を使用していますが、ブースト/MFC ヘッダーは引き続きマネージ コード ファイルに #include する必要があります。これが完了するとすぐに (#pragma unmanaged ブロックにあるかどうかに関係なく)、boost および ATL (別名 MFC) からのすべての名前空間とクラス名 (実際の実装はありません) が、組み立て。

これは深刻な問題ではありません (結局、問題なく動作します) が、ごちゃごちゃしているように見えます。それを取り除く方法はありますか?

4

1 に答える 1

0

いいえ、それを取り除く方法はありません。

C ++ / CLIの考え方は、マネージコードがアンマネージコードにアクセスできる必要があるということです。これを行う唯一の方法は、すべてのC++関数のマネージラッパーを作成することです。

「関数レベルのリンク」と「プログラム全体の最適化」を試しましたが、エクスポートされるシンボルの数は減りませんでした。

于 2010-02-02T19:19:42.680 に答える