【问题标题】:compile and run c++ code runtime编译并运行 c++ 代码运行时
【发布时间】:2012-07-17 12:59:49
【问题描述】:

有谁知道如何在程序运行时编译您编写的 c++ 代码?

稍后我想运行该代码。

我想这样做是因为我正在尝试制作一款可以教你编程的游戏,因此用户必须在游戏运行时编写代码并对其进行测试。

感谢您的帮助

【问题讨论】:

  • 你需要不止一个程序来实现这一点!或者 - 使用基于 Web 的编译(google for codepad 等)
  • 你的出发点是什么?你有什么初步的想法吗?到目前为止,您研究了什么?
  • 一个简单的方法是将文本保存到文件中,然后从命令外壳执行编译器命令来编译它,然后以相同的方式运行生成的可执行文件

标签: c++ compilation runtime


【解决方案1】:

如果您选择一种在设计时考虑到嵌入的语言(例如 LUA 或 python),您的时间会更轻松。对于 C++,您必须采用极其笨拙和脆弱的方式,例如调用外部编译器(这在发布游戏时也是一场后勤噩梦),或者像在游戏中集成编译器那样复杂(可能使用 llvm 组件可行) ,但是...)

另外,对于“教学编程”,C++ 可能不是最好的语言 :)

【讨论】:

  • 我试图用 python 来做,但是我在内存访问中遇到了一些错误,我还没有找到任何解决方案,否则我会使用它。
【解决方案2】:

您必须调用编译器来编译和链接用户输入的代码。必须将其制成可执行文件,然后从您创建的另一个进程运行,或者作为动态加载和调用的库。

在 POSIX 平台(如 Linux 和 OSX)和 Windows 上执行此操作的方式不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2017-12-16
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多