好吧,我再次学习了一点c并且对C ++发明者是如何做到这一点有点好奇。有些事实告诉我信息,他用纯C(显然)创建它,所以我在想是否有任何源或任何可以帮助我在C中做事的东西,我可以在C ++中做,比如模板,命名空间,类,参考和其他它并不重要,它至少有更多的概念,所以如果有人知道一个可靠的来源和写得好,我会很高兴。
答案 0 :(得分:4)
是的,许多年前,Bjarne Stroustrup的第一个C ++编译器是C编译器"的前端。
今天,它肯定不是那样的。现代C ++编译器直接从中间形式的C ++构造生成代码,后端处理成目标的机器代码。这允许编译器做更直接的工作,而不是依赖于C编译器"理解"发生了什么事。
此页面包含cfront上的一些参考资料: http://www.softwarepreservation.org/projects/c_plus_plus/index.html#cfront
该页面还包含3.0.3归档来源的链接,分别为unpacked和compressed。
但是请注意,这个版本是21.5岁,因此,如果是一个人能够在显示身份证后在美国酒吧订购酒精。这不是现代标准C ++的任何衡量标准(它可能生成也可能不生成适合现代C编译器的代码,我不知道)
这个引用与1991年的3.0版本一致:
Bjarne Stroustrup指出,"警告Cfront 3是预先标准的 强烈建议不要使用或进一步开发 到位。"
修改强>
我确实在上面的(压缩)链接中下载了代码。它肯定不会毫不费力地在Linux上编译。真的,比我愿意付出的努力更多。其中一个问题是它是ANSI-C之前的,所以编译抱怨各种函数没有被声明(例如strcpy
,strcat
等),并且有OS选择,这些都不是Linux。
我也不认为它一定是开始学习编译器技术的最佳场所。