繁体   English   中英

读取文件和线程的 function 中的分段错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM