estaba escribiendo un DllMain como esto:¿No llamaron a Dllmain?
#include "main.h"
#include "init.h"
#include <iostream>
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
//std::cout<<"hi\n"; //only for debug. did not shown.
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
// attach to process
// return FALSE to fail DLL load
//std::cout<<"hello\n"; //only for debug. did not shown.
init(); //did not run :(
break;
case DLL_PROCESS_DETACH:
// detach from process
break;
case DLL_THREAD_ATTACH:
// attach to thread
break;
case DLL_THREAD_DETACH:
// detach from thread
break;
}
return TRUE; // succesful
}
pero después de un programa de prueba utiliza LoadLibrary(), no pasó nada, no hola hola o en la pantalla. ¿Te gustaría descubrir el problema? ¡Muchas gracias!
P.S. He visto la pregunta DllMain not being called pero todavía no ayuda.
PS2: el programa que llama es como
int main()
{
cout<<"This is a test program to test.\n";
HINSTANCE hinstDLL;
hinstDLL=LoadLibrary("ijl15.dll");
cout<<"Look like everything goes well.\n";
cout<<hinstDLL;
return 0;
}
Los productos de los programas probador:
This is a test program to test.
Look like everything goes well.
0x6a980000
Process returned 0 (0x0) execution time : 0.007 s
Press any key to continue.
Hmm ... parece estar bien ... ¿puedes agregar el código de LoadLibrary()? Además, para estar seguro, estás buscando impresiones en la ventana de la consola, ¿verdad? – TCS
Estaba dispuesto a ver que se ejecuta init(), pero nunca funciona así que probé un poco pero todavía no funciona. – xxbidiao
¿Cuáles son sus conmutadores de enlace para el todo? –