Desordem em conjuntos C ++ / CLI mistos
-
05-07-2019 - |
Pergunta
Existe alguma maneira de esconder as definições de espaço reservado nativas da metadados gerenciados (visível no refletor)?
Estou criando um modo misto C ++ / CLI contendo a montagem de alguns arquivos compilados com / clr e alguns compilado sem.
Eu estou usando boost e MFC no código nativo somente, mas o impulso / cabeçalhos MFC ainda precisam ser #included nos arquivos de código gerenciado. Assim que isso for feito (independentemente de se eles estão em um bloco não gerenciado #pragma ou não) todos os namespaces e nomes de classe (embora nenhuma implementação real) de impulso e ATL (aka MFC) aparecem na exibição do refletor do montagem.
Este não é um problema grave (afinal, o material ainda funciona bem), mas parece que a desordem e eu prefiro não estava lá. Existe alguma maneira de se livrar dele?
Solução
Não há nenhuma maneira de se livrar dele.
A idéia com C ++ / CLI é que o código gerenciado deve ser capaz de acessar código não gerenciado. A única maneira de fazer isso é criar um wrapper gerenciado para todas as funções C ++.
Eu tentei "linking nível de função" e "otimização de programa inteiro", mas não reduziu o número de símbolos exportados.