【发布时间】:2010-11-17 19:02:23
【问题描述】:
我有一个 C++ 源文件和一个 Python 源文件。我希望 C++ 源文件能够将 Python 源文件的内容用作大字符串文字。我可以这样做:
char* python_code = "
#include "script.py"
"
但这行不通,因为每行的末尾都需要有 \'s。我可以手动复制和粘贴 Python 代码的内容,并用引号和终止的 \n 将每一行括起来,但这很难看。即使 python 源代码将被有效地编译到我的 C++ 应用程序中,我还是想将它保存在一个单独的文件中,因为它更有条理并且与编辑器一起工作更好(emacs 不够聪明,无法识别 C 字符串文字是 Python 代码,当你在其中时切换到 Python 模式)。
请不要建议我使用 PyRun_File,这是我首先要避免的;)
【问题讨论】:
-
如果是重复的,你能提供一个链接吗?我环顾四周,没有看到任何与我的搜索字词有关的内容。
-
另外,以前的版本是 python 特定的吗?因为这是一个更笼统的问题。
-
顺便说一句,嵌入 python 脚本是不好的形式,除非它非常微不足道。工作中的人这样做,当我们在python环境中更改内容时会导致各种问题,但是因为它在.cpp文件中而错过了更新他们的代码!
-
这很简单,它们是单元测试的一部分。
-
有趣的是,链接到重复的问题是针对 C 的,但最佳答案是针对 C++11 的。 :-/
标签: c++ c include c-preprocessor string-literals