【发布时间】:2013-04-12 11:57:17
【问题描述】:
我曾多次阅读过早期的 C++ 编译器在编译前将第一个 C++ 代码翻译成纯 C(或者可能需要第三方 C 编译器)。
玩弄语法/语言/编译领域,我很想知道 C++ 是如何用纯 C 实现的,尤其是实现类继承和 [虚拟] 方法调用的一种方法。
你能告诉我这样一个现在仍然可用的编译器吗?
我知道可以使用结构和函数指针在纯 C 中模拟/模拟 OO 代码,但我希望看到 C++ 语言在 C 中的实际实现。
【问题讨论】:
-
请记住,即使您找到它,它也不会是我们所知道的 C++,而是更简单的东西。我怀疑它做了一些事情,比如在所有函数上添加一个额外的参数,即帧指针。或者为这些东西保留一个全局变量。
-
明确一点,C++ 语言在 C 中的实际实现,是指用 C 编写的 C++ 编译器,而不是可以将 C++ 翻译成 C 的工具,对吗?
-
如何打开一些库文件,看看代码是如何完成的......
-
@NPE:是的,我有兴趣看到生成纯 C 代码的 C++ 编译器。不确定翻译人员是否会生成类似的代码或一些技巧来模拟 C++。
标签: c++ c compiler-construction implementation