我想通过传递到主线程的任何参数传递给我用“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