4

我正在寻找一个 C++ IDE,我可以在其中积极玩游戏并实时测试更新,而不是测试它、重做代码、编译它并再次运行它。我正在运行 Windows 7 x86 专业版。

4

6 回答 6

4

这不是一个真正的答案,因此可能不应该得到支持,但有信息。

我不知道任何可以对代码进行运行时更新的 C++ IDE,但这绝对不是不可能的。有很多 C++ 汇编器已经是 JIT 代码,实时更新只是我所知道的还没有 IDE 采取的下一步。
asmjit可以 JIT C++
Visual Studio 可以 JIT C++/CLI(这不是 C++)(RMartinho 更正了 VIsual Studio 将 C++/CLI 编译为 IL,然后 JITs IL。技术上不同。)cling
使用clang fruntend 和LLVM后端,它有一个JIT代码生成系统。

R.Martinho 还提醒我,Microsoft Visual Studio 已经有了这个功能。 http://msdn.microsoft.com/en-us/library/esaeyddf(v=vs.100).aspx 如果您“停止”代码,您可以进行更改,它将应用这些更改并恢复执行。

于 2012-08-15T17:22:48.720 回答
3

http://runtimecompiledcplusplus.blogspot.co.uk/上有一个有趣的项目正在解决这个问题,看起来它可能对你有用;我自己没有使用过它,但如果仍然有点生硬,它看起来很活跃。它使用 Visual Studio 2010 编译器。

于 2012-08-15T17:17:50.140 回答
1

不编译就无法运行 C++ 代码。语言之间的细微句法差异不应该成为问题,因此您不应该将自己局限于一种语言。

我建议你给Unity一个机会;有一个相当强大的免费版本可用。您可以使用 C#(类似于 C++ 的语言)、UnityScript(类似于 JavaScript)或 Boo(类似于 Python)编写脚本,并且可以立即测试结果,而无需编译。

于 2012-08-15T17:19:28.193 回答
1

在 Visual Studio 中编辑并继续呢?为了使用它,您必须暂停执行(通过断点或暂停按钮),重新编译并恢复。请注意,您可以在程序运行时编辑代码。我知道您无法实时测试游戏,但您不必重新加载资源等。它的 IDE 集成使其使用起来非常简单直接。

但是,如果您希望更改实时可见,请考虑使用脚本语言,例如 Lua。他们的目的之一是您想要实现的目标。

于 2012-08-15T17:32:16.630 回答
1

我在Runtime Compiled C++ 的替代 wiki 页面上列出了 C++ 代码的运行时编译选项。

根据您可能对RecodeAlcanterea感兴趣的声音。

于 2015-02-13T09:49:58.927 回答
0

组织您的 C++ 游戏以使用插件,并添加一项功能以在游戏期间加载新的(二进制版本)插件。

然后,你可以玩你的游戏,重新编译一个插件,重新加载它(所以在运行时调用你的动态链接器),然后继续玩。

它不是万无一失的,但它通常可以工作。

当然,您不能卸载在(或某些线程的)调用堆栈上有一些活动调用框架的插件。我建议避免卸载旧插件...

于 2015-02-13T09:53:47.137 回答