PDA

Visualizza la versione completa : [OT] Tecniche da evitare in DllMain delle DLL


kirakira93
23-04-2012, 22:33
Salve a tutti ragazzi, sto giusto leggendo un articolo tratto da MSDN riguardo alle tecniche da adottare mentre si programma una dll all'interno della funzione DllMain.

Questo (http://www.google.it/url?sa=t&rct=j&q=dll_bestprac.doc&source=web&cd=1&ved=0CCgQFjAA&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload %2Fa%2Ff%2F7%2Faf7777e5-7dcd-4800-8a0a-b18336565f5b%2Fdll_bestprac.doc&ei=bruVT_HxNsrCtAbC_InYBA&usg=AFQjCNEC6NBwgmrYFf8n8xtk5MgllXhWgQ)

C'è scritto che una tecnica da evitare è questa:

• Use the memory management function from the dynamic C Run-Time (CRT).

Io ho interpretato che non posso usare malloc, free e quindi neanche new e delete
Ho interpretato correttamente?

Inoltre mi sembra di ricordare che nella dll in generale, non solo all'interno della dllmain, sia sconsigliato l'utilizzo del C++ e assolutamente vietato il passaggio di variabili che sono una qualsiasi classe o template, dico bene?

Grazie in anticipo! :)

shodan
24-04-2012, 12:46
Dal momento che la programmazione è sempre più orientata al multithreading, nel documento che hai postato, nella DLLMain è safe solo inizializzare puntatori a NULL e i TLS tramite TlsAlloc.
Per il resto delle domande ti rimando a questo articolo, che dovrebbe chiarirti un pò le idee.

http://chadaustin.me/cppinterface.html

kirakira93
25-04-2012, 16:34
Grazie mille, leggerò l'articolo appena posso!

Loading