首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >围绕std::pmr::synchronized_pool_resource的程序段故障

围绕std::pmr::synchronized_pool_resource的程序段故障
EN

Stack Overflow用户
提问于 2020-06-21 01:50:15
回答 1查看 241关注 0票数 1

这个节目除了告别世界什么也不做:

代码语言:javascript
复制
/* Ubuntu 18.04 with GCC 10.1.0 and libstdc++-10-dev */

#include <memory_resource>
#include <concepts>
#include <ranges>
#include <string_view>

/* declare global memory resource */
std::pmr::synchronized_pool_resource pool;

int main(int argv, char * argc[]){

    std::puts("Goodbye World!");

}

它编译得很好,但在SEGV上终止。

代码语言:javascript
复制
/usr/include/c++/10/memory_resource

第445行,在SPR的构造函数中:

代码语言:javascript
复制
synchronized_pool_resource()
: synchronized_pool_resource(pool_options(), get_default_resource())

(未知来源:0) std::pmr::synchronized_pool_resource::synchronized_pool_resource(std::pmr::synchronized_pool_resource * const )(/usr/std::pmr::synchronized_pool_resource::synchronized_pool_resource(std::pmr::synchronized_pool_resource/c++/10/memory_resource:445) __static_initialization_and_destruction_0(int __initialize_p,(/data/solution/projects/test/source/main.cpp:10) _GLOBAL__sub_I__Z4testRNSt3pmr26synchronized_pool_resourceE() (/data/solution/projects/test/source/main.cpp:16) __libc_csu_init (未知来源:0) libc.so.6!__libc_start_main(int ()( int,char **,char **) main,int argc,char ** argv,int ()(int,char **,char **) init,void ()( void ) fini,void ()( rtld_fini ),void* stack_end) _start (未知来源:0)

堆栈上的调用链解释了程序可能已经链接到libstdc++.so.6。这是否一个可能的原因,如果是的话,我该怎么办?

我在用

GNU gdb (Ubuntu8.2-0ubuntu1~18.04) 8.2

用于调试。是不是因为GDB还没有做好准备呢?

顺便说一句:我真的不能用这个编辑器来处理过去的图片。它就是没有出现。

EN

回答 1

Stack Overflow用户

发布于 2020-07-15 17:04:33

您需要将-pthread添加到g++链接调用中。如果你认为应该有一个可理解的错误信息…,我不能怪你

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62493609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档