PyRun_SimpleFile()崩溃

我的代码:
main.cpp
#include
int main(int argc,char ** argv)
{
py_initialize();
文件 *file_1 = fopen(" a2l_reader.py"," r+");
pyrun_simplefile(file_1," a2l_reader.py");
py_finalize();
}
使用mingw在Windows下进行编译:
g ++ main.cpp libpython25.a -o a
找不到错误.但是,当我运行A.EXE时,该程序就会崩溃.
我应该怎么办?

# 回答1


在9ä24ä3,ä3:39,lixinyi ...@gmail.com写道:
pyrun_file和pyrun_simplefile会崩溃我的应用程序.
但是pyrun_simplestring效果很好.
但为什么???
# 回答2

lixper li ********@gmail.com
  • 在GDB下运行它(应该与MingW一起使用).
    检查您实际打开文件,即file_1!= 0.
    这可能是相关的http://effbot.org/pyfaq/pyrun-simple...n-unix-why.htm
    - -
    Nick Craig-Wood
  • # 回答3


    在9月24日,6:30*上午,尼克·克雷格·伍德(Nick Craig-Wood) 在GDB下运行它(应该与MingW一起使用).
    检查您实际打开文件,即file_1!= 0.
    这可能是相关的
    *http://effbot.org/pyfaq/pyrun-simple ... dows-but-not-o ....
    - -
    nick craig-wood 有解决方法.
    文件名=" Python文件的整个路径";
    pyObject* pyfileObject = pyfile_fromstring(文件名," r");
    pyrun_simplefile(pyfile_asfile(pyfileObject),文件名);
    // decref pyfileObject http://mail.python.org/pipermail/pyt...ch/431725.html http:////python-forum.org/pythonforum/.....&t = 1554&p = 6567(_@@_ _ _ _ _ _ _)
    在9月24日,11:05*AM," Aaron \" Castironpi \" Brady"
    有解决方法.
    文件名=" Python文件的整个路径";
    pyObject* pyfileObject = pyfile_fromstring(文件名," r");
    pyrun_simplefile(pyfile_asfile(pyfileObject),文件名);
    // DECREF pyfileObject http://mail.python.org/pipermail/pyt......t = 1554&p=6567
    只是为了跟进 - 链接说坠机来自打开
    文件具有两个不同版本的库.这有没有可能
    为了获得API入口点,该版本使用的版本?
    它确实使用名称使用" fopen"函数,但不使用同一版本.
    创建整个对象只是为了获取其f_fp字段
    长.
    # 回答4


    在9ä25昆,äè«e1:05上
    写道:
    有解决方法.
    文件名=" Python文件的整个路径";
    pyObject* pyfileObject = pyfile_fromstring(文件名," r");
    pyrun_simplefile(pyfile_asfile(pyfileObject),文件名);
    // DECREF pyfileObject http://mail.python.org/pipermail/pyt......t = 1554&p=6567
    哇,这对我来说很好.
    谢谢!

    标签: python

    添加新评论