适用于C ++程序的Python文本解析器?

时间:2018-06-26 06:20:46

标签: python c++ windows

与Python相比,尝试过C ++文本解析的任何人都会注意到,在工作量和难度上存在很大的差异,而Python通常是两者中比较容易的。因此,我宁愿用Python编写文本解析函数,用C ++编写的程序也可以使用该函数。

我曾想过将.py文件编译成.dll,但是根据我完成的谷歌搜索,这似乎是不可能的。我可以将.py文件编译成.exe文件,然后将要解析的文本作为命令行参数传递。但是,我不想每次需要解析文本时都生成多个进程。

我想知道是否有可能在C ++程序中使用Python函数,或者有人可以想到的其他方法。我只想避免使用C ++解析文本。

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

可以。您必须在应用程序中嵌入python解释器。

您的调用代码看起来像:

Py_Initialize();
PyRun_SimpleString("import parser\n"
                   "parse(" + program_code + ")\n");

a whole section in the docs dedicated to embedding Python