在Python ctypes中加载共享库时出现分段错误(核心转储)

2024-10-03 00:28:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python ctypes加载C共享库。(linux)

但是它在加载共享库的过程中生成一个Segmentation fault (core dumped)。在

{(如果库的名称是^的话)

import ctypes

ctyps.CDLL("A.so")   #it makes Segmentation fault

我想知道的是,如果Segmentation fault在加载库的过程中发生了什么问题。在

我不明白它是正常编译的,也不调用库中的函数。在

在加载库的过程中,哪个部分导致此错误?在


Tags: coreimport名称so过程linuxitctypes
1条回答
网友
1楼 · 发布于 2024-10-03 00:28:16

在我的例子中,{{cd2}就是这个问题。 例如,我用template定义了一个类,如下所示。在

# a.hpp
template<typename msgType>
class A{
public:
int get(msgType& msg);
...
...
};


#a.cpp
template<typename msgType>
int A<msgType>::get(msgType& msg){
...
}
template int A<std::string>::get(std::string& msg);

然后,如果我使用^ {CD5>}类,除了^ {CD6>}以外的其他类型,它在加载C++共享库时会导致^ {CD7>}。在

相关问题 更多 >