Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何包括<;原子>;在C++;在Linux上?_C++_Linux_Gcc_Pthreads_Atomic - Fatal编程技术网

C++ 如何包括<;原子>;在C++;在Linux上?

C++ 如何包括<;原子>;在C++;在Linux上?,c++,linux,gcc,pthreads,atomic,C++,Linux,Gcc,Pthreads,Atomic,我试图在我的C++ p螺纹程序中包含原子。 #include <atomic> 任何帮助都将不胜感激。谢谢 您的帖子有点让人困惑,因为您链接到一篇帖子,上面说原子版需要GCC4.4,但您希望它能在4.1.x上运行 您需要至少升级到GCC4.4以获得原子支持。在GCC4.1中无法启用对原子的支持,尽管您可以使用。为了将来参考,显示了哪个版本的GCC支持哪个C++11功能 如果由于某种原因您无法升级GCC,您也可以尝试完全使用不同的编译器(例如clang)。跟踪GCC的实现状态。您的编

我试图在我的C++ p螺纹程序中包含原子。
#include <atomic>

任何帮助都将不胜感激。谢谢

您的帖子有点让人困惑,因为您链接到一篇帖子,上面说原子版需要GCC4.4,但您希望它能在4.1.x上运行

您需要至少升级到GCC4.4以获得
原子支持。在GCC4.1中无法启用对原子的支持,尽管您可以使用。为了将来参考,显示了哪个版本的GCC支持哪个C++11功能

如果由于某种原因您无法升级GCC,您也可以尝试完全使用不同的编译器(例如clang)。

跟踪GCC的实现状态。您的编译器版本还不支持原子


在任何情况下,您都需要使用
std=c++11
(或旧版本中的
c++0x
)开关来启用c++11功能。

事实上,gcc 4.4无法为我编译包含
#include>的代码,因此我宁愿避免将代码更改为
#include

我升级到GCC4.8,它运行正常


如果使用CCENTS 6.8,./P>首先升级GCC,版本太老,不支持<代码> <代码>。<代码>原子< /代码>在C++(C++ 11)的一个新版本中被引入。你的g++是在

原子
发明之前编写的!看来你在运行RHEL 5。这是在2007年发布的,这使得它非常古老——GCC4.1.2也是在2007年2月发布的。你需要看看你的升级选项是什么,无论是你的整个发行版还是你的GCC&标准库工具链。最新的GCC是4.7,你有的有点生疏。我使用GCC版本4.4.6 20110731(Red Hat 4.4.6-3)(GCC),但仍然有错误:原子:没有这样的文件或目录,谢谢@用户您是否记得使用
--std=c++11
?是的,我尝试过-std=c++0x和-std=c++11,我的gcc只支持-std=c++0x,没有一个有效,同样的错误!请注意,在gcc 4.4发行说明中,没有交付任何
,但有一个
。您好,我使用的是gcc版本4.4.6 20110731(Red Hat 4.4.6-3)(gcc),但仍然出现错误:原子:没有这样的文件或目录,谢谢!我强烈建议更新到GCC的最新版本,即GCC 4.7;如果您的发行版没有打包这样一个最新版本的GCC,您甚至可能需要从源代码构建它
 #include <asm/atomic>
 #include <atomic.h>
 #include <linux/atomic>
 #include <util/atomic>
 #include <stdcatomic>
 #include <catomic>
And #include <thread> also got : No such file or directory
   autogen -T /remote/mypath/gcc_4_7_2012_5_28/gcc_4_7_new_2012_5_29/trunk/fixincludes/check.tpl , remote/mypath/gcc_4_7_2012_5_28/gcc_4_7_new_2012_5_29/trunk/fixincludes/inclhack.def ,

   make[2]: execvp: autogen: Permission denied, then I tried to install autogen, but 
   got: I need to install guile-devel, then when I installed guile-2.0.5-2.1.src.rpm , 

   I got  rpm -ivh guile-2.0.5-2.1.src.rpm, warning: guile-2.0.5-2.1.src.rpm: Header V3 
   RSA/SHA256 signature: NOKEY, key ID 3dbdc284

   error: cannot write to %sourcedir /usr/src/redhat/SOURCES, I cannot get root 
   authorization.