|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2005
Città: Pisa
Messaggi: 1047
|
[C] problema compilazione pthread_create()
Ottengo un warning compilando con "-Wall -pedantic"
warning: passing argument 3 of ‘pthread_create’ from incompatible pointer type non capisco dove sia il problema, mi dareste una mano per capire dove sbaglio? vi riporto un pezzo di codice... void* work_func(sthread_t* info); int main(int argc, char* argv[]){ ...... array[threadIndex].index=threadIndex; array[threadIndex].ch=clientSocket; array[threadIndex].dir=mydir; array[threadIndex].dir_name=argv[1]; if(pthread_create(&(array[threadIndex].id),NULL, work_func, (sthread_t*)&array[threadIndex])!=0){ fprintf(stderr,"Errore: dserver/pthread_create\n"); exit(EXIT_FAILURE); }else { printf("%d) Creating new thread for a new client\n",threadIndex); threadIndex++; } ..... } poche righe sotto... c'è la funzione del thread. /*FUNZIONE dei THREADS DEDICATI*/ void* work_func(sthread_t* info){ // corpo della funzione pthread_exit(NULL); }
__________________
Vendite concluse ottimamente con: Bastian UMTS, Tiscaliniano. --------------------------------------------------------- 1) Macbook Pro Core 2 Duo 2,16Ghz - 2GB di RAM - HD 160GB - Glossy Widescreen - 2°Gen 2) iPhone 3G - 8GB Black 3) Ipod Shuffle Blu 1GB 4) iMac 27" QuadCore i7 |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Oct 2008
Messaggi: 19
|
printf("%d) Creating new thread for a new client\n",threadIndex);
threadIndex++; manca una parentesi aperta... sarà questo?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2005
Città: Pisa
Messaggi: 1047
|
mmm... non manca nessuna parentesi aperta.
__________________
Vendite concluse ottimamente con: Bastian UMTS, Tiscaliniano. --------------------------------------------------------- 1) Macbook Pro Core 2 Duo 2,16Ghz - 2GB di RAM - HD 160GB - Glossy Widescreen - 2°Gen 2) iPhone 3G - 8GB Black 3) Ipod Shuffle Blu 1GB 4) iMac 27" QuadCore i7 |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jun 2009
Messaggi: 147
|
La signature di pthread_create() è questa:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); Il terzo parametro è un puntatore ad una funzione di questo tipo: void *foo(void *);
__________________
CPU: Intel Core i7 2600K @ 3.40Ghz + Noctua NH-C14 MB: Asus P8P67-Deluxe Rev.B3 VGA: nVidia Zotac GTX580 1536MB GDDR5 RAM: G.Skill RipjawsX 8GB DDR3 1600Mhz CL9 HD: WD Caviar Blue 320GB SO: Windows 7 Professional x64 PSU: Toughpower XT 750W SCR: HP 2310i 1920x1080 | |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:40.











sarà questo?








