C ++ Threads, std :: system_error - ¿operación no permitida? [duplicar
Esta pregunta ya tiene una respuesta aquí:
¿Cuáles son las opciones de enlace correctas para usar std :: thread en GCC en Linux? 6 respuestasAsí que escribí un programa para probar hilos en 64 bits kubuntu linux, versión 13.04. En realidad, le robé el código a otra persona que estaba escribiendo un programa de prueba.
#include <cstdlib>
#include <iostream>
#include <thread>
void task1(const std::string msg)
{
std::cout << "task1 says: " << msg << std::endl;
}
int main(int argc, char **argv)
{
std::thread t1(task1, "Hello");
t1.join();
return EXIT_SUCCESS;
}
Compilé usando:
g++ -pthread -std=c++11 -c main.cpp
g++ main.o -o main.out
Entonces corrió:
./main.out
Como aparte, cuando 'ls -l', main.out aparece en texto verde como todos los ejecutables, pero también tiene un asterisco al final de su nombre. ¿Por qué es esto
olver al problema en cuestión: cuando ejecuté main.out, apareció un error que decía:
terminate called after throwing an instance of 'std::system_error'
what(): Operation not permitted
Aborted (core dumped)
Alguna idea sobre cómo solucionar est