Estoy escribiendo un C/C++ DLL y quieren exportar ciertas funciones que he hecho antes de utilizar un archivo .def como estofunciones sobrecargadas en C++ DLL archivo DEF
LIBRARY "MyLib"
EXPORTS
Foo
Bar
con el código definido como esto, por ejemplo:
int Foo(int a);
void Bar(int foo);
Sin embargo, lo que si quiero declarar un método sobrecargado de Foo() como:
int Foo(int a, int b);
como el d El archivo ef solo tiene el nombre de la función y no el prototipo completo. No puedo ver cómo manejaría las funciones sobrecargadas. ¿Utiliza la única entrada y luego especifica qué versión sobrecargada desea al pasar el puntero de la función de prototipo adecuado a LoadLibrary()?
Editar: Para ser claros, esto es en Windows utilizando Visual Studio 2005
Editar: Marcado el método no-def (__declspec) como la respuesta ... Sé que esto en realidad no resuelve el problema utilizando Definir archivos como yo quería, pero parece que no hay una solución (oficial) que use archivos def. Sin embargo, dejaremos la pregunta abierta, en caso de que alguien sepa algo, no tenemos funciones sobrecargadas ni archivos def.
¿Qué sucede si utilizamos GetProcAddress() con una DLL dinámica? – null
Luego necesita usar los nombres truncados, o renombrar una de las funciones y hacer que ambas sean 'extern" C "', suponiendo que ninguna de ellas toma o devuelve objetos C++. –