WindowsError异常访问冲突-在简单python c++;ctypes接口 我有一个很简单的测试用例,我无法工作,我尝试用CyType将C++与Python接口。 在使用双打时,我会遇到错误,在这种情况下,尝试在C++中使用“CUT”。

WindowsError异常访问冲突-在简单python c++;ctypes接口 我有一个很简单的测试用例,我无法工作,我尝试用CyType将C++与Python接口。 在使用双打时,我会遇到错误,在这种情况下,尝试在C++中使用“CUT”。,python,c++,ctypes,Python,C++,Ctypes,错误是: WindowsError: exception: access violation writing 0x..... 问题在于下面的C++代码的输出行: #include "testgeo.h" #include <iostream> TestGeo::TestGeo() : td_(0), ti_(0) { std::cout<<td_<<std::endl; // problem line }

错误是:

WindowsError: exception: access violation writing 0x.....
问题在于下面的C++代码的输出行:

#include "testgeo.h"
#include <iostream>
TestGeo::TestGeo() : td_(0),
                     ti_(0) {
    std::cout<<td_<<std::endl; // problem line
}
运行这个的python代码是(testgeo.py):

编辑1:仍然在挣扎,我对编程还很陌生。我是否可以进一步调查记忆错误,从而为我提供一些线索

编辑2:我想我会分享我是如何编译的,以防出现错误:

x86_64-w64-mingw32-g++ -c testgeo.cpp -o testgeo.o -std=c++11 -O2 -Wall -Wextra -Weffc++ -pedantic
x86_64-w64-mingw32-g++ -shared -o testgeo.dll testgeo.o
运行代码:

python testgeo.py

编辑3:代码在我的linux机器上运行。。。这意味着我仍然不确定我的windows问题。不过,希望它能提供一些情况说明。

在注意到其他问题后,发现问题出在我的编译器的配置上,重新安装/不同的编译器允许运行此代码。

您的代码很好。“它在这里起作用了。@DavidHeffernan,谢谢你的检查。”。也许我对它在我的windows机器上运行或编译的方式有问题。我知道你使用的是64位windows-可能会有帮助。@etheranger,我已尝试为示例指定重新类型和argtypes。您认为我可能需要以某种方式修改它们吗?只是检查一下,您是否正在运行64位python解释器?我甚至不希望32位的DLL加载,但谁知道呢:/
x86_64-w64-mingw32-g++ -c testgeo.cpp -o testgeo.o -std=c++11 -O2 -Wall -Wextra -Weffc++ -pedantic
x86_64-w64-mingw32-g++ -shared -o testgeo.dll testgeo.o
python testgeo.py