<% %> 在 C++ 中做什么?

what does <% %> do in c++?

我正在使用 cppimport,这是一个有助于将 cpp 导入 python 的库。如此处所述:https://github.com/tbenthompson/cppimport,需要将 setup_pybind11 放入 cpp 文件中的 /* */

/*
<%
setup_pybind11(cfg)
%>
*/

看来,当我按照文档中的描述将它放在/* */中时,当从python导入cpp文件时它就没有效果了。但是,当我不使用 /* */ 时,从 python 开始一切正常,但后来我不能从 visual studio 开始 运行 它了。有什么建议我可以做什么?为什么我必须从 python 中删除 /* */ 才能正常工作?

它被 /**/ 包装,所以从 C++ 方面来看它是 comment.

我猜你的 build automation 是同一个 C++ 文件上的 运行 其他程序。

but then I can't run it anymore from visual studio.

也许可以考虑使用和配置一些更好的构建自动化。 ninja or omake or the old GNU make comes to mind. Of course you would configure them to run the cppimport magic (please read its README 完全一样的工具)。

大多数 C++ 编译器本质上都是命令行驱动的。查看 GCC or Clang。两者都存在于 Windows 上(我从未使用过,因为我使用 Linux)。

it has no effect when the cpp file is imported from python.

但是你不 "import" it. According to the READMEimport cppimport,不是你的C++文件:

Open a python interpreter and run these lines :

>>> import cppimport
>>> somecode = cppimport.imp("somecode") #This will pause for a moment to compile the module
>>> somecode.square(9)

PS。我的母语不是英语,而且我从未使用过 Python(我更喜欢 Guile whose semantics is close to Python's one, with a syntax that is much nicer and cleaner in my opinion, see R5RS and SICP)。但是当一个文件被命名为 README 我正在完整地阅读它。