El lenguaje C++ no sabe nada sobre dlls.
¿Esto es en Windows? Una forma sería a:
- abrir el archivo DLL en
depends.exe
enviado con (Visual Studio)
- verificar la firma de la función que desea llamar
- uso
LoadLibrary()
para conseguir cargar esta DLL (tenga cuidado sobre el camino)
- uso
GetProcAddress()
para obtener un puntero a la función que desea llamar
- uso de este puntero a función para hacer una llamada con argumentos válidos
- uso
FreeLibrary()
para liberar el asa
Por cierto: Este método también se conoce comúnmente como la vinculación dinámica en tiempo de ejecución en lugar de en tiempo de compilación vinculación dinámica en la que compile las fuentes con el archivo asociado lib
.
Existe algún mecanismo similar para * nix con dlopen
, pero mi memoria empieza a fallar después de eso. Algo llamado objdump
o nm
debería comenzar con la inspección de la (s) función (es).
¿Cuál es el nombre exacto del método mostrado por dumpbin/exports? – ChrisW