Cuando compilamos un dll usando __stdcall dentro de visual studio 2008, los nombres de las funciones compiladas dentro del dll son.GCC compilando un dll con __stdcall
nombrefunción
Aunque cuando se compila la misma DLL usando GCC GCC usando WX-dev-cpp anexa el número de paramers tiene la función, por lo que el nombre de la función utilizando Dependency Walker se parece.
nombrefunción @ numberOfParameters o == nombrefunción @ 8
, ¿cómo saber compilador GCC para eliminar @nn de símbolos exportados en el archivo DLL?
Gracias a Roger por la respuesta, resultó que el problema era que otro desarrollador colocaba un archivo DEF en el proyecto. Este archivo DEF le dijo al vinculador las convenciones de nombres para usar dentro de la DLL. Esta es la razón por la cual obtuvimos un nombre de biblioteca diferente incluso con la misma convención de llamadas. La solución resultó que uno de nuestros desarrolladores había eliminado WINAPI del archivo de encabezado al crear su propia DLL para un proyecto. Esto hizo que Windows visual studio volviera a su convención de llamada predeterminada de __cdecl (/ Gd). – Chad