Как использовать синтаксис C ++ в вызовах Python? - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь вызвать C ++ в python с использованием ctypes.cdll.LoadLibrary и преуспеть в вызове функции и получить результаты.

компилируется так:

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 может решить эту проблему, как показано в моем коде.

Однако, почему это происходит? Я даже не могу найти в нем других.

Это означает, что я могу использовать только синтаксис C, а не C ++ в dll?

...