在Linux(内核2.6.5)上,我们的构建系统使用调用gcc -D_REENTRANT
。
使用时仍然需要pthreads
吗?
它与gcc -pthread
期权有什么关系?我知道我应该-pthread
与pthreads一起使用,还需要-D_REENTRANT
吗?
附带说明一下,您在gcc 3.3.3和gcc 4.xx之间使用REENTRANT有什么区别吗?
当我使用-pthread
gcc选项时,可以看到已_REENTRANT
定义。-D_REENTRANT
从命令行省略是否会有所不同,例如某些对象可以在没有多线程支持的情况下进行编译,然后链接到使用pthreads的二进制文件中,这会引起问题吗?
我认为应该可以使用: g++ -pthread
> echo | g++ -E -dM -c - > singlethreaded
> echo | g++ -pthread -E -dM -c - > multithreaded
> diff singlethreaded multithreaded
39a40
> #define _REENTRANT 1
我们正在编译与静态库链接的多个静态库和应用程序,库和应用程序都使用pthreads。
我认为过去在某个阶段需要它,但想知道是否仍然需要它。谷歌搜索没有返回任何新的信息提-
D_REENTRANT
用pthreads
。您能否指向我讨论最近版本的 kernel / gcc / pthread 使用的链接或参考?
澄清:目前,我们正在使用-D_REENTRANT和-lpthread,我想我可以仅用g ++ -pthread替换它们,看着man
gcc它设置了预处理器和链接器的标志。有什么想法吗?
对我而言,最好的答案是来自pts
他的评论,只要他不愿意将其作为答案提交:
您进行了适当的调查,并回答了自己的问题。使用
g++ -pthread
,就相当于g++ -lpthread -D_REENTRANT
。使用g++ -D_REENTRANT
会有所不同,它可能不会设置所有链接器标志。– pt 5月18日0:30
问题内容: 我需要清理来自各种Microsoft Office套件应用程序(Excel,Access和Word)的字符串(复制/粘贴),每个应用程序都有自己的一组编码。 我将json_encode用于调试目的,以便能够看到每个编码的字符。 我可以使用str_replace清除到目前为止找到的所有内容(\ r \ n),但是使用\ u00a0则没有运气。 返回: 那是完全一样的。它完全忽略\ u00
问题内容: 据我了解,使用a的“正确”方法是始终在退出块之前调用。像这样: 但是,我已经看到,没有它,代码就可以工作,甚至我从中也学会了使用它的答案 。所以我的问题是,是否必须使用它? 问题答案: 所以我的问题是,是否必须使用它? 为了进行交易而进行更新时必须使用。否则,事务管理器将发出并撤消所做的更改。 对于像您的示例这样的只读事务,无论有没有,我都认为没有实质性的区别。在这两种情况下,由事务管
我目前正在使用一个并发链接队列,这样我就可以使用自然顺序FIFO,也可以在线程安全的应用程序中使用它。我需要每分钟记录队列的大小,并且考虑到此集合不保证大小,并且计算大小的成本为O(N),是否有任何替代的有界非阻塞并发队列,我可以在获取大小不会是一个昂贵的操作的地方使用,同时添加/删除操作也不昂贵? 如果没有集合,我需要使用带锁的LinkedList吗?
问题内容: 我真的需要做mysql_close()吗?为什么或者为什么不? 即使我不执行mysql_close,也有触发器会在mysql_connect之后关闭链接吗? 问题答案: 在大多数情况下,调用不会对性能产生任何影响。但是,关闭程序不再使用的资源(文件句柄,打开的套接字,数据库连接等)始终是一个好习惯。 如果您正在做可能要花费几秒钟的操作,例如从REST API读取和解析数据,则尤其如此。
问题内容: 好吧,我可能也已在较早之前发布了此内容,但到目前为止仍找不到答案,因此请帮助我解决这个问题。 我的数据库结构: ATT (表) Act_ID(PK) Assigned_To_ID(FK,请参阅) Project_ID(FK,请参阅) Product_ID(FK,请参阅) 状态(可以是) 产品表 产品编号(PK) 产品名称 项目表 Project_ID(PK) 项目名 员工表 Emp_I
该项目为 PHP 提供基于 POSIX 的多线程编程机制。可异步执行任何与定义的用户自定义方法和函数。内建支持同步和同步方法。 要求: PHP5.3+ ZTS Enabled ( Thread Safety ) Posix Threads Implementation 示例代码: <?phpclass AsyncOperation extends Thread { public function