如何在C中制作C ++?

时间:2015-11-27 23:55:21

标签: c++ c refactoring

好吧,我再次学习了一点c并且对C ++发明者是如何做到这一点有点好奇。有些事实告诉我信息,他用纯C(显然)创建它,所以我在想是否有任何源或任何可以帮助我在C中做事的东西,我可以在C ++中做,比如模板,命名空间,类,参考和其他它并不重要,它至少有更多的概念,所以如果有人知道一个可靠的来源和写得好,我会很高兴。

1 个答案:

答案 0 :(得分:4)

是的,许多年前,Bjarne Stroustrup的第一个C ++编译器是C编译器"的前端。

今天,它肯定不是那样的。现代C ++编译器直接从中间形式的C ++构造生成代码,后端处理成目标的机器代码。这允许编译器做更直接的工作,而不是依赖于C编译器"理解"发生了什么事。

此页面包含cfront上的一些参考资料: http://www.softwarepreservation.org/projects/c_plus_plus/index.html#cfront

该页面还包含3.0.3归档来源的链接,分别为unpackedcompressed

但是请注意,这个版本是21.5岁,因此,如果是一个人能够在显示身份证后在美国酒吧订购酒精。这不是现代标准C ++的任何衡量标准(它可能生成也可能不生成适合现代C编译器的代码,我不知道)

这个引用与1991年的3.0版本一致:

  

Bjarne Stroustrup指出,"警告Cfront 3是预先标准的   强烈建议不要使用或进一步开发   到位。"

修改

我确实在上面的(压缩)链接中下载了代码。它肯定不会毫不费力地在Linux上编译。真的,比我愿意付出的努力更多。其中一个问题是它是ANSI-C之前的,所以编译抱怨各种​​函数没有被声明(例如strcpystrcat等),并且有OS选择,这些都不是Linux。

我也不认为它一定是开始学习编译器技术的最佳场所。