当前位置: 技术问答>linux和unix
关于Linux编译程序的问题
来源: 互联网 发布时间:2017-05-21
本文导语: 本人最近才开始学习Linux方面的知识,在网上找了跟程序,编译 到时候出现了如下问题,请各位高手帮忙找找原因啊,感激不尽!! | gcc xxx -lpthread | 额。。意思就是说,你调用的函数pthread_...
本人最近才开始学习Linux方面的知识,在网上找了跟程序,编译 到时候出现了如下问题,请各位高手帮忙找找原因啊,感激不尽!!
|
gcc xxx -lpthread
|
额。。意思就是说,你调用的函数pthread_create系列的,其函数的实现都在一个文件里,叫libpthread.so文件里(这个文件也叫动态库),一般在linux系统安装的时候就有的,在/lib/文件夹中(一般情况下),所以在编译的时候要引用这个动态库。的用-lpthread,意思就是将libpthread.so文件中的函数实现连接到你自己写的代码中
|
pthread_create是系统的函数,编译时需要用-lpthread来链接相应的库文件,否则将出现未定义错误!
|
ld是gcc的连接器,(.text+0x1f7)是gcc的as生成的汇编码里的一个符号,就是一个要跳转的位置,pthread是posix的线程库,所以得用 -l 指定要连接的库文件