【发布时间】:2012-08-02 19:07:15
【问题描述】:
我只是在尝试g++ 4.6 和C++11 功能。
每次我使用-std=c++0x 标志编译一个简单的线程代码时,它要么因分段错误而崩溃,要么只是抛出一些奇怪的异常。
我阅读了一些与C++11 线程相关的问题,我意识到,我还需要使用-pthread 标志来正确编译代码。使用-pthread 工作正常,我能够运行线程代码。
我的问题是,C++11 多线程模型是否在后台使用Pthreads?
还是从头开始写的?
我不知道是否有成员是gcc 的贡献者,但我只是好奇。
【问题讨论】:
-
@Kay 看起来问题是关于 g++ 4.6。
-
“一些奇怪的异常”可能是
std::system_error,这是标准在无法创建线程时所要求的(例如,因为您没有使用-pthread链接到libpthread.so)。我正在努力改进异常给出的信息,请参阅gcc.gnu.org/PR52681 -
@JonathanWakely....是的,这是我在我的 Linux 机器上处理的例外情况...使用 AMD Turion X2....虽然它在没有
-pthread标志的情况下顺利进行我的室友英特尔机器...