C++可以简化Lua虚拟机的实现吗?

对于那些浏览过 Lua C VM 实现的人来说,使用 C++ 是否会显著简化实现过程?

原文链接 https://stackoverflow.com/questions/2821282

点赞
stackoverflow用户33252
stackoverflow用户33252

Lua 旨在成为一种嵌入式语言。因此,VM 的“实现”分为两个不同的部分:VM 源代码的创建和将该代码集成到要部署的应用程序中。我猜你的问题主要关注第一部分。很遗憾,第二部分——集成——发生了很多次,而在 C++ 中相比于 C 而言通常更加困难。

2010-05-12 17:54:01
stackoverflow用户41661
stackoverflow用户41661

多年来,具有天才水平的工程师们一直在为那个虚拟机流汗,使其尽可能简单,同时仍然极其便携(任何 ANSI C 编译器)和高性能(查看任何脚本语言的比较度量值)。在这种努力的背景下,我认为 C++ 很难简化任何事情。事实上,对于 C++,我担心语言会“混淆”重要的属性,例如成本模型。

多年来,具有天才水平的工程师们一直在为那个虚拟机流汗,使其尽可能简单,同时仍然极其便携(任何 ANSI C 编译器)和高性能(查看任何脚本语言的比较度量值)。在这种努力的背景下,我认为 C++ 很难简化任何事情。事实上,对于 C++,我担心语言会“混淆”重要的属性,例如成本模型。
2010-05-13 01:33:04
stackoverflow用户298661
stackoverflow用户298661

将下面翻译成中文并且保留原本的 markdown 格式:

Anything C can do, C++ can do better. I always thought that the Lua source was pretty damn hard to read - gave some warnings on 64bit, although it seemed to be OK.

无论 C 做什么,C++ 都可以做得更好。我一直认为 Lua 的源代码非常难以阅读 - 它在 64 位上给出了一些警告,但看起来似乎还好。

The trouble is that the whole userdata thing, it's really not very good for exposing new types to. I'd look at a redesign rather than a reimplementation.

问题在于整个 userdata 机制,它并不适合用于引入新类型。我会考虑重新设计,而不是重新实现。

2010-05-13 02:09:32