国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Linux下undefined reference to ‘pthread_create’問題解決

2019-11-10 20:31:44
字體:
供稿:網(wǎng)友

接觸了linux系統(tǒng)編程中的線程編程模塊,可gcc sample.c(習(xí)慣把書上的sample代碼寫進sample.c文件中)出現(xiàn)“undefined reference to ‘pthread_create’”,所有關(guān)于線程的函數(shù)都會有此錯誤,導(dǎo)致無法編譯通過。

問題的原因:pthread不是Linux下的默認的庫,也就是在鏈接的時候,無法找到phread庫中哥函數(shù)的入口地址,于是鏈接會失敗。

解決:在gcc編譯的時候,附加要加 -lpthread參數(shù)即可解決。

#include <stdio.h> #include <pthread.h> #include <unistd.h> pthread_t ntid; void PRintids(const char * s) {     pid_t pid;     pthread_t tid;     pid = getpid();     tid = pthread_self();     printf("%s pid %u tid %u (0x%x)/n",s,(unsigned int)pid,             (unsigned int)tid,(unsigned int)tid); } void * thr_fn(void * arg) {     printids("new thread:");     return ((void *)0); } int main(void) {     int err;     err = pthread_create(&ntid,NULL,thr_fn,NULL);     if(err != 0)         printf("pthread_create error /n");     printids("main thread:");     sleep(1);     return 0; }

root@daoluan:/code/pthreadid# gcc sample.c/tmp/cc1WztL9.o: In function `main’:sample.c:(.text+0×83): undefined reference to `pthread_create’collect2: ld returned 1 exit status

root@daoluan:/code/pthreadid# gcc -lpthread sample.croot@daoluan:/code/pthreadid# ./a.outmain thread: pid 7059 tid 3078141632 (0xb778b6c0)new thread: pid 7059 tid 3078138736 (0xb778ab70)

本文完 2012-07-15

搗亂小子 http://www.daoluan.net/

 

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

轉(zhuǎn)自:http://blog.csdn.net/jiangxinyu/article/details/7778864


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜昌市| 河南省| 安达市| 修武县| 达日县| 黄龙县| 南阳市| 泽库县| 绥阳县| 新竹市| 达拉特旗| 垫江县| 武义县| 孝义市| 云和县| 延边| 彭州市| 长宁县| 新田县| 台州市| 山阴县| 浏阳市| 西吉县| 原平市| 孙吴县| 鄂托克前旗| 鹤岗市| 杭锦旗| 长岭县| 奉贤区| 平顺县| 离岛区| 丁青县| 牟定县| 博白县| 图们市| 崇州市| 崇州市| 新建县| 即墨市| 绵阳市|