質問

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

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

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

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

役に立ちましたか?

解決

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top