简体   繁体   中英

C++0x “Hello Concurrent World” immediately segfaults on g++/linux?

Browsing through a Currency in C++0x book and thought I would give the sample code a run. It is as basic as it gets.

#include <iostream>
#include <thread>

void hello()
{
    std::cout<<"Hello Concurrent World\n";
}


int main(int argc, char *argv[])
{
    std::thread t(hello);

    t.join();
}

Compiled with:

g++ -std=c++0x -g -o pgm pgm.cpp

Goes boom with:

Program received signal SIGSEGV, Segmentation fault.
_dl_fixup (l=0x7ffff7b0992c, reloc_arg=<value optimized out>) at ../elf/dl-runtime.c:147
147     ../elf/dl-runtime.c: No such file or directory.
        in ../elf/dl-runtime.c

Appears to be a setup/library issue of some kind. Anyone familiar with this?

您需要使用-pthread标志编译/链接。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM