En el mundo no administrado, pude escribir un __declspec (dllexport) o, alternativamente, usar un archivo .DEF para exponer una función para poder llamar a un archivo DLL. (Debido al cambio de nombre en C++ para __stdcall, puse alias en el archivo .DEF para que ciertas aplicaciones puedan volver a utilizar ciertas funciones DLL exportadas.) Ahora, estoy interesado en poder exponer una función de punto de entrada único de una Ensamblado de .NET, de forma no administrada, pero que entre en funciones de estilo .NET dentro de la DLL. ¿Es esto posible, de una manera simple y directa?¿Cómo puedo llamar a C++/CLI (.NET) DLL desde aplicaciones estándar no administradas que no son de .NET?
Lo que tengo es un programa de terceros que he extendido a través de DLL (complementos) que implementan algunas matemáticas complejas. Sin embargo, el programa de terceros no tiene medios para visualizar los cálculos. Quiero de alguna manera tomar estas funciones matemáticas escritas previamente, compilarlas en una DLL separada (pero usando C++/CLI en .NET), pero luego agregar ganchos a las funciones para que pueda representar lo que está pasando bajo el capó en .NET control de usuario. No estoy seguro de cómo mezclar las cosas de .NET con las cosas no administradas, o qué hacer con Google para lograr esta tarea.
Sugerencias específicas con respecto al puente gestionado/no gestionado, o métodos alternativos para llevar a cabo la representación de la manera que he descrito sería útil. Gracias.
quería utilizar C++/CLI porque la biblioteca de terceros sería compilar de forma automática con sólo usar la opción/clr. Entonces agregar enlaces al framework .NET mejoraría la vida (creo). Su ejemplo parece un enfoque razonable. Gracias. – user343400
No estoy seguro de que te estoy siguiendo aquí. Cuando tome mi plantilla de proyecto, también se compilará automáticamente (incluso creará un archivo .lib). Excepto si te entendí mal, y realmente quieres usar C++/CLI. –