View Single Post
Old 24-05-2005, 13:17   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Marinelli
Ciao! Grazie mille per la risposta...
Dunque, non utilizzo il PSDK e non so se ho a disposizione gli headers delle Win32, ma suppongo di sì visto che ho il MS Visual Studio 6. Proverò a guardare al sito MSDN. Ma con CreateThread e compagnia posso compilare solo con il Visual Studio? Altri compilatori non funzionano?

Quindi dei parametri quello importante è lpStartAddress vero? Mi sfugge però il concetto di puntatore a funzione...

Ciao e grazie mille, omonimo
se hai il Visual Studio è praticamente sicuro che hai il PSDK; mi sa che ce l'hai ma non sapevi che si chiamasse così
il PSDK (Platform SDK) è costituito dagli headers e i lib delle Win32 e spesso anche da una versione offline della libreria MSDN (con tanto di esempi non compilati). se in Visual Studio puoi includere windows.h senza errori, allora ce l'hai

un puntatore a funzione non è niente di speciale, è esattamente quello che il nome lascia ad intendere: un puntatore che punta alla prima istruzione della funzione (o talvolta, ad un JMP che rimanda immediatamente alla prima istruzione). CreateThread vuole il puntatore all'entry point per sapere dov'è che deve iniziare l'esecuzione del thread.
per ottenere un puntatore a una funzione devi scrivere semplicemente il nome della funzione senza parametri, cioè se scrivi così
Codice:
ThreadProc(NULL)
è una chiamata a una funzione, se scrivi così
Codice:
ThreadProc
è un puntatore a funzione; talvolta si scrive anche così
Codice:
&ThreadProc
che è la stessa cosa.

ciao

Ultima modifica di 71104 : 24-05-2005 alle 13:20.
71104 è offline   Rispondi citando il messaggio o parte di esso