[英]Segmentation fault in function that reads file and with threads
我在编写将传递给 pthread_create 的 function 时遇到问题。 function 需要两个 arguments。 我在调用它时遇到分段错误。
和 pthread_create:
pthread_create(&tid_array[i], NULL, searchForWord(argv[i + 2], word), &wData[i]);
传递给 pthread_create 的 function 可以采用除 void * 之外的其他 arguments 吗?
pthread_create 采用 function 指针形式的启动例程。
表达式searchForWord(argv[i + 2], word)
不是 function 指针; 它在当前线程中调用 searchForWord,它总是返回 NULL,然后将 NULL 传递给 pthread_create。
线程启动 function 必须采用指向 void 的参数,但您可以自由创建结构,将指向该结构的指针传递到 function。 您将获得一个指向 void 的指针,您可以将其转换为指向您的结构的指针。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.