关于gcc stl库的问题
gcc吧
全部回复
仅看楼主
level 1
轰烧 楼主
Cent OS 7一开始的g++版本是4.8.5,该版本最初使用并发库std::timed_mutex std::unique_lock时遇到如下bug:
1、std::timed_mutex::try_lock_for 以及 std::timed_mutex::try_lock_until 不能正常等待,会立即返回, 。
2、std::unique_lock 会在活锁的情况下报死锁。
在给g++升级到目前最新的8.2.0版本后,并发库的问题得到解决,操作系统自己的pthread线程下,一切正常,然后std::thread反而不正常了,编译是成功的,但只要代码中存在std::thread构造,程序跑起来的一瞬间直接闪退,没有任何提示及抛出异常信息。
谁有遇到过相同的情况吗?
2018年08月27日 02点08分 1
level 13
学习了。.
2018年08月27日 02点08分 2
level 1
轰烧 楼主
在linux gcc中 std::thread链接pthread是由编译器完成的 -pthread参数,其中有个静态库,ccyu93Bb.o在起作用,看起来这个静态库的入口像是在gcc源码c++11的库文件中的thread.cc为入口,从这里头来看,异常和错误信息是由其他的库在完成的,我已经不想再继续深入的读代码了,谁有闲心的可以继续,线程模型这部分跨平台即使用操作系统API问题也不大,谁如果有试过哪一个版本gcc的c++11是没有bug的,希望告知,万分感谢。
2018年08月27日 17点08分 3
1