在Linux(内核2.6.5)上,我们的构建系统使用-D_REENTRANT调用gcc.

Is this still required when using 100?

它与gcc -pthread选项有什么关系?我知道我应该在pthreads中使用-pthread,我还需要-D_REENTRANT吗?

另一方面,您知道gcc 3.3.3和gcc 4之间使用REENTRANT有什么不同吗.x、 x?

当我使用-pthread gcc选项时,我可以看到_REENTRANT得到了定义.从命令行中省略-D_REENTRANT是否会产生任何影响,例如,是否可以在没有多线程支持的情况下编译某些对象,然后将其链接到使用pthreads的二进制文件中,从而导致问题?

I assume it should be ok just to use: g++ -pthread

> echo | g++          -E -dM -c - > singlethreaded
> echo | g++ -pthread -E -dM -c - > multithreaded
> diff singlethreaded multithreaded
39a40
> #define _REENTRANT 1

我们正在编译多个与静态库链接的静态库和应用程序,库和应用程序都使用pthread.

我相信在过go 的某个阶段它是需要的,但我想知道它是否仍然是需要的.谷歌没有返回任何最近提到-D_REENTRANTpthreads的信息.你能给我指一下讨论kernel/gcc/pthread最新版本使用的链接或参考资料吗?

澄清:目前我们正在使用-D_REENTRANT和-lpthread,我想我可以用g++-pthread代替它们,看看mangcc,它为预处理器和链接器设置了标志.有什么 idea 吗?

推荐答案

对我来说,最好的答案是pts条 comments ,只要他愿意把它作为答案提交:

你进行了适当的调查并回答了问题

Linux相关问答推荐

创建守护进程时打开0,1,2描述符

我使用Windows 10,但我无法在我的WSL2上下载vscode

Linux 的 __fastfail 替代方案?

运行系统命令失败,但相同的命令可以直接在 bash 中执行

加载ELF64头文件为什么会导致分段错误?

需要获取文件名、行号、模式在文件中的匹配位置

为什么控制台不接受反向换行?

如何在bash中用另一个整数变量增加一个整数变量?

从 Ansible 中的 shell 命令输出中提取特定数据

如何将通配符参数传递给 bash 文件

如何使用不同的出口 IP 一次运行多个 Tor 进程?

将 awk 输出保存到变量

在 cron 作业(job)中执行 PHP 脚本

如何在 Linux 中为 C 或 C++ 的进程设置 CPU 亲和性?

我如何从 Ubuntu 上的源代码自己构建 python?

从linux命令行写入串口

如何知道linux调度器时间片?

可以通过 SSH 连接的所有用户的列表

使用 C++ 代码在 Linux 中清除终端

Postgresql -bash:psql:找不到命令