如何在python调用中使用C ++语法?

时间:2019-06-07 19:41:00

标签: dll ctypes

我正在尝试使用ctypes.cdll.LoadLibrary在python中调用C ++,并成功调用函数并获得结果。

这样编译:

g++ -std=c++11 -shared func.cpp

而python是:

lib = ctypes.cdll.LoadLibrary("./a.exe")

但是添加更多代码时,此调用由于winError 1114而失败。 我对它进行了调试,发现这是由于使用语法引起的:new int []

#include <malloc.h>
void fun(){
    int* p = (int *)malloc(sizeof(int)*7);
//  int* p = new int[7];
} 

一个常识是,使用malloc可以解决此问题,如我的代码所示。

但是,为什么会这样呢?我什至找不到其他困扰的人。

这是否意味着我只能在dll中使用C语法而不是C ++?

0 个答案:

没有答案