我想通過傳遞到主線程的任何參數傳遞給我用「pthread_create」創建的「子線程」。如何將char * argv []傳遞給pthread_create?
void *threadMainLoop(void *arg){
char *arguments = (char*)arg;
printf("arg 1 - %s\n", arguments[1]);
}
int main(int argc, char *argv[]){
printf("Start of program execution\n");
rc = pthread_create(&outboundThread, NULL, threadMainLoop, (void *) argv);
printf("Thread create rc: %i, %d\n", rc, outboundThread);
if(rc != 0){
printf("Thread creation failed\n");
exit(1);
}
pthread_join(outboundThread, NULL);
return 0;
}
上面的代碼不工作,可以請你告訴我,我怎麼能訪問argv數組一樣「的argv [0]」等的主題?
哎呀 - 沒關係。你是對的。我讀得不夠深入。 – 2011-05-01 18:17:30
您好,感謝您的反饋....非常感謝。我對C來說很新,你能告訴我如何在「threadMainLoop」中使用char **轉換回來嗎? – 2011-05-02 06:32:08
您好,根據下面的GNU教程,argv是一個char * argv []?這就是爲什麼我這樣使用它.....我錯了嗎? http://www.crasseux.com/books/ctutorial/argc-and-argv.html – 2011-05-02 06:34:28