由於是Linux新手,所以現在才開始接觸線程編程,照著GUN/Linux編程指南中的一個例子輸入編譯,結果出現如下錯誤:
undefined reference to 'pthread_create'
undefined reference to 'pthread_join'
問題原因:
pthread 庫不是 Linux 系統默認的庫,連接時需要使用靜態庫 libpthread.a,所以在使用pthread_create()創建線程,以及調用 pthread_atfork()函數建立fork處理程序時,需要鏈接該庫。
問題解決:
在編譯中要加 -lpthread參數
gcc thread.c -o thread -lpthread
thread.c為你些的源文件,不要忘了加上頭文件#include<pthread.h>
另外,使用這兩個函數要加入#include <stdlib.h>