在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_REENTRANT
和pthreads
的信息.你能给我指一下讨论kernel/gcc/pthread最新版本使用的链接或参考资料吗?
澄清:目前我们正在使用-D_REENTRANT和-lpthread,我想我可以用g++-pthread代替它们,看看mangcc,它为预处理器和链接器设置了标志.有什么 idea 吗?