与Python相比,尝试过C ++文本解析的任何人都会注意到,在工作量和难度上存在很大的差异,而Python通常是两者中比较容易的。因此,我宁愿用Python编写文本解析函数,用C ++编写的程序也可以使用该函数。
我曾想过将.py
文件编译成.dll
,但是根据我完成的谷歌搜索,这似乎是不可能的。我可以将.py
文件编译成.exe
文件,然后将要解析的文本作为命令行参数传递。但是,我不想每次需要解析文本时都生成多个进程。
我想知道是否有可能在C ++程序中使用Python函数,或者有人可以想到的其他方法。我只想避免使用C ++解析文本。
感谢您的时间。
答案 0 :(得分:2)
可以。您必须在应用程序中嵌入python解释器。
您的调用代码看起来像:
Py_Initialize();
PyRun_SimpleString("import parser\n"
"parse(" + program_code + ")\n");