我在编译c c filename.c时编写了一个小线程程序,在编译期间得到了一些语句,但是当我使用-lpthread(cc filename.c-lpthread)编译时,它被执行了什么-lpthread为什么它是必需的?有人能详细解释一下吗。这会有很大帮助的。
最佳答案
在程序中使用的pthread_create()
函数不是基本的C函数,需要使用库。
这就是为什么您必须使用这个命令开关-lpthread
。
这个gcc命令告诉他在磁盘上的某个地方查找一个名为libpthread
的库,并使用它提供线程创建机制。
我建议你读这篇文章来熟悉“图书馆”的概念:http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html