【问题标题】:Why use an interpreted language to make a compiled one adjustable "on-the-fly"?为什么要使用解释语言来使编译后的语言“即时”可调?
【发布时间】:2015-02-27 22:32:57
【问题描述】:

我读过某些程序,例如文明视频游戏系列,使用解释组件(在本例中为 Lua)与已编译组件(我假设为 C++)接口,以允许用户通过 mod 等进行扩展。为什么以这种方式调用虚拟机,而我假设您可以编写和烘焙自己的编译语言扩展,这很有帮助?

【问题讨论】:

  • 那么就侵犯了游戏的版权。如果游戏的制作人/程序员允许通过任何其他来源修改源代码,这将允许直接更改游戏本身,使模组添加到游戏中并允许对游戏动态本身进行一些小的更改。
  • 这是一个很好的法律观点,实际上我没有考虑过。

标签: interpreted-language compiled-language


【解决方案1】:

您完全可以制作自己的编译扩展!但这是很多工作,然后你必须教用户使用你的编程语言。

更容易与已知的稳定语言(如 Lua)进行交互。

【讨论】:

  • 所以推理是你应该这样做,因为如果你的最终用户必须使用像 Lua 这样的轻量级语言,那么与 C++ 的疯狂相比,他们的工作量更少?我不反对;我想知道是否有更深层次的推理在起作用。法律问题也可能起到一定作用。
  • 是的,我想是的。同样通过这种方式,您可以严格定义您的界面。这比让用户将他们喜欢的任何代码直接加载到程序中更安全。
猜你喜欢
  • 2010-09-06
  • 2010-09-21
  • 2011-02-09
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-24
  • 1970-01-01
相关资源
最近更新 更多