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