Беспорядок в смешанных сборках C ++ / CLI - PullRequest
3 голосов
/ 23 октября 2009

Есть ли способ скрыть собственные определения заполнителей из управляемых метаданных (видимых в Reflector)?

Я создаю смешанную сборку C ++ / CLI, содержащую некоторые файлы, скомпилированные с / clr, а некоторые скомпилированные без.

Я использую boost и MFC только в собственном коде, но заголовки boost / MFC по-прежнему необходимо включать в файлы управляемого кода. Как только это будет сделано (независимо от того, находятся ли они в неуправляемом блоке #pragma или нет), все пространства имен и имена классов (хотя и не имеют реальной реализации) из boost и ATL (он же MFC) появятся в представлении Reflector сборка.

Это не серьезная проблема (в конце концов, все по-прежнему работает нормально), но это похоже на беспорядок, и я бы предпочел, чтобы его там не было. Есть ли способ избавиться от этого?

1 Ответ

0 голосов
/ 02 февраля 2010

Нет, от него нет возможности избавиться.

Идея C ++ / CLI состоит в том, что управляемый код должен иметь доступ к неуправляемому коду. Единственный способ сделать это - создать управляемую оболочку для всех функций C ++.

Я попробовал «связывание на уровне функций» и «оптимизацию всей программы», но это не уменьшило количество экспортируемых символов.

...