博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gcc -lpthread
阅读量:7201 次
发布时间:2019-06-29

本文共 670 字,大约阅读时间需要 2 分钟。

转自:

如果用gcc编译使用了POSIX thread的程序时,通常需要加额外的选项,以便使用thread-safe的库及头文件,一些老的书里说直接增加链接选项 -lpthread 就可以了。

而gcc手册里则指出应该在编译和链接时都增加 -pthread 选项。

编译选项中指定 -pthread 会附加一个宏定义 -D_REENTRANT,该宏会导致 libc 头文件选择那些thread-safe的实现;

链接选项中指定 -pthread 则同 -lpthread 一样,只表示链接 POSIX thread 库。

由于 libc 用于适应 thread-safe 的宏定义可能变化,因此在编译和链接时都使用 -pthread 选项而不是传统的 -lpthread 能够保持向后兼容,并提高命令行的一致性。

 

目前gcc 4.5.2中已经没有了关于 -lpthread的介绍了。所以以后的多线程编译应该用-pthread,而不是-lpthread。

 

ubuntu 下默认是没有pthread库 的   即使在编译的时候  加上 -lpthread 也不行

  sudo apt-get install glibc-doc

glibc 是linux下面c标准库的实现,即GNU C Library。glibc本身是GNU旗下的C标准库,后来逐渐成为了Linux的标准c库,而Linux下原来的标准c库Linux libc逐渐不再被维护。

转载于:https://www.cnblogs.com/SZxiaochun/p/7718732.html

你可能感兴趣的文章
白话插件框架原理
查看>>
将Sublime Text 2配置为C#代码编辑器(附配置文件)
查看>>
iOS编程——Objective-C KVO/KVC机制[转]
查看>>
读书笔记2013第9本:《注意力曲线----打败分心与焦虑》
查看>>
Oracle Move a Datafile from Filesystem & ASM
查看>>
通往财富自由之路3--开始一年的财富自由之旅
查看>>
深度学习预测比特币价格
查看>>
NumPy和Pandas常用库
查看>>
asp.net 操作 cookie
查看>>
Go并发编程基础(译)
查看>>
extjs 登录
查看>>
SQL Server 如何执行一个查询
查看>>
C#中toolStrip或statusStrip遮挡了SplitContainer怎么办?
查看>>
通过 imagick 让 PHP 生成 PSD 文件缩略图
查看>>
获取IOS应用的子目录
查看>>
sqlserver 行转列
查看>>
爪哇国新游记之六----抽象类
查看>>
闲话WPF之十八(WPF中的资源 [4] )
查看>>
对虚拟目录的操作(转)
查看>>
Solaris 的运行级别(模式)
查看>>