g를 사용하여 멀티스레드 코드 컴파일: 'std::system_error' 해결됨
멀티스레드 코드를 컴파일하는 동안 'std::system_error' 오류 발생 g를 사용하면 실망스러울 수 있습니다. '-pthread' 플래그를 명시적으로 지정했음에도 불구하고 문제가 지속됩니다.
제공된 코드를 조사해본 결과 뚜렷한 문제는 없는 것 같습니다. 그러나 문제는 gcc의 버그로 인해 발생합니다. SO C 채팅 회원이 제공한 해결 방법은 다음과 같은 솔루션을 제공합니다.
-Wl,--no-as-needed
컴파일 명령에 추가하면 이 플래그가 문제를 해결하여 다중 스레드 코드가 성공적으로 컴파일되고 실행될 수 있습니다. 업데이트된 컴파일 명령은 다음과 같습니다.
$ g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
위 내용은 \'-pthread\'를 사용해도 내 멀티스레드 코드에서 여전히 \'std::system_error\'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!