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

与在C#中使用CodeDOM或在perl,python等中使用eval函数一样。

最佳答案

简短答案:您不能。

稍长一点的答案: c++没有反射,并且通常已编译,因此不支持这种事情,因此不能轻易添加。

解决方法:

  • 与您的c++代码配合使用可嵌入的动态语言,例如[python | tcl | ruby​​ | ...]。现在,您需要在数据中使用动态语言(而不是c++)。
  • 使用cint或ch之类的c++解释器。这将您绑定(bind)到解释器。
  • 使用系统c++编译器从您的代码构造一个动态库,并动态链接到它。风险和依赖系统。
  • 使用其他语言。
  • 关于c++ - 如何从C++运行C++代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1541429/

    10-11 22:50
    查看更多