簡體   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