当前位置: 技术问答>linux和unix
编译参数中,-ldl和-lpthread 是什么意思?
来源: 互联网 发布时间:2016-04-08
本文导语: 如题。 对于-lpthread 我在《Using the GNU Compiler Collection》gcc 4.30 中关于-lpthread的描述如下: -pthread Add support for multithreading using the POSIX threads library. This option sets flags for both the...
如题。
对于-lpthread
我在《Using the GNU Compiler Collection》gcc 4.30 中关于-lpthread的描述如下:
-pthread Add support for multithreading using the POSIX threads library. This option
sets flags for both the preprocessor and linker. It does not affect the thread
safety of object code produced by the compiler or that of libraries supplied with
it. These are HP-UX specific flags.
但是关于-ldl的都没有看到,希望有人解释一下。
谢谢!
对于-lpthread
我在《Using the GNU Compiler Collection》gcc 4.30 中关于-lpthread的描述如下:
-pthread Add support for multithreading using the POSIX threads library. This option
sets flags for both the preprocessor and linker. It does not affect the thread
safety of object code produced by the compiler or that of libraries supplied with
it. These are HP-UX specific flags.
但是关于-ldl的都没有看到,希望有人解释一下。
谢谢!
|
sqlite它本身应该是不需要它自己老版本的库啦。
sqlite可能是没用到线程。不知道你是怎么编译的?也可能用到了线程的相关函数,用auto tools完成编译,可以在makefile文件中就加入进出了,而你没看到.
同楼上所述
|
#include
dlopen(),dlclose() , dlerror() , dlsym() , the Base Definitions volume of IEEE Std 1003.1-2001,
这些函数,动态库的相关部分
dlopen(),dlclose() , dlerror() , dlsym() , the Base Definitions volume of IEEE Std 1003.1-2001,
这些函数,动态库的相关部分
|
-dl ,同楼上所说,是显式加载动态库的动态函数库。~~~真TM绕口。
|
因为sqlite没有用到 libdl.so中的相关函数
如果你用到 这些 dlopen(),dlclose() , dlerror() , dlsym() ,就要编译时链接libdl.so
同理 如果用到 pthread相关的函数接口,也要连接 pthread的so
|
学习下