如何从c ++运行c ++代码?

1 c++ reflection

如果我在c ++程序中有一些c ++代码作为字符串数量(数据),我可以执行该字符串的内容吗?

在C#中使用CodeDOM或在perl,python等中使用eval函数.

dmc*_*kee 10

简短的回答:你做不到.

稍微长一点的回答: c ++没有反射,并且通常是编译的,所以不支持这种东西,并且它不能轻易添加..

解决方法:

  1. 使用可嵌入的动态语言,如[python | tcl | ruby​​ | ...],与c ++代码一致.现在你需要在数据中使用动态语言(而不是c ++).
  2. 使用像cint或ch 这样的c ++解释器.这会将你绑定到翻译.
  3. 使用系统c ++编译器从代码构建动态库并动态链接到它.风险和系统依赖.
  4. 使用其他语言.


ano*_*ard 5

不可以.由于C++是一种静态语言,因此无法动态评估任意代码.

你可以解释它,甚至可以像Keith建议的那样单独编译和运行它