问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

开发一个 C++ 编译器的难度有多大,难点又在哪里

发布网友 发布时间:2022-05-15 22:12

我来回答

2个回答

热心网友 时间:2024-01-03 21:49

C++的前端是出了名的复杂度和可靠性要求并驾齐驱的软件。

(这两点都比它高一个数量级的大概就只有OS了)

对于这种系统,唯一的办法就是烧钱。

烧钱的作用主要包括:
1.留人;
2.填坑;
3.买买买。

先说留人:复杂度一般是“细节”的代名词。现实中的编译器大多数以递归下降为主,自底向上的归纳推导为辅。这两样在教科书上也就是几页纸的事情。但是现实总是很残酷的,人们总想让语言更加“易用”,这就意味着各种上下文相关的情况都会出现。

对于C++来说,你要判断一个符号是类型或者变量(比如这个符号被用在模板参数中),要看前面的声明/定义。这就是一个上下文相关的推导。然后你就会写大量的if else switch case之类的代码来解决各种各样的可能分支。写它的人当然知道它是做什么的,但是如果这个人离职了,新来一个人,就呆掉了,这写的都是什么煞笔玩意儿。因为它不知道现实中怎样的需求会导致奇形怪状的逻辑。所以人员的稳定,对于这种长周期迭代、逻辑复杂的项目是很重要的。但是人的水平要求高吗?不算高也不算低。总结来说就是:有逻辑,知好歹。技术什么都可以培养,但是态度和基本智商是比较难培养起来的。

至于怎么保证人员稳定?很简单:加薪。

再说填坑:编译器是对正确性要求很高的基础软件。这里的正确性既包括产生的代码的正确性,也包括编译器自身对于各种问题的容忍度和足够丰富的错误提示。容错和错误提示本身也是代码,也有很大的出错几率。所以这些软件,bug少不了。但是作为基础软件,你又不能随便就2+3搞成了2*3,这样还怎么让别人相信爱情。所以要烧很多钱来养一帮debugger。

再说买买买:古人日:我们不用很麻烦很辛苦也可以成佛。既然这么费神我们自己做干什么,不如买别人的吧。于是MS就干脆不自己做了,直接去EDG整了个前端,这样就可以少了不少人年。这就是传统土豪和水果这种新暴发户想的不一样的地方。

传统土豪想的是:我们有这么多钱为什么还要自己解决问题呢?买买买!
水果新贵则是:啊呀,不小心有了这么多钱,我们要不要给自己制造点问题好把这些钱花出去?

热心网友 时间:2024-01-03 21:49

写一个难度不大 ,写一个完整的难度才大,主要是要考虑各种非终结符的状态转换。其他的都不难。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
NBA下赛季常规赛MVP和总决赛MVP会是谁 吴前当选CBA常规赛MVP,他是实至名归吗? 如何申请安电表 如何申请独立电表 用电量大可以增加电表吗 出租他人铺面,原先房东已经安装过电表,因为用电量大,我想自己装电表可以... 梦见有个老人送佛画给我、让我在家供佛 ...分之一米还剩多少米如果截去四分之一还剩几分之几还剩多少米?_百度... 一根竹竿长四米,截去它的四分之三后,这根竹竿还剩全长的几分之几? ...这根绳子的几分之几后还剩下他的3/1,用去了( )m,还剩下( )_百度知... 编译是在程序运行的时候还是在程序开发的时候。 求一个没有声音的mp3文件,最好时间能长一点? 需要一个没有声音的音频mp3格式,谢谢。不要有杂音的 电流中W和V分别代表什么 充电宝上写的5V=1A V代表什么A呢? 编译器是用什么开发的 c++编译程序是用什么软件写出来的? 电流中的e,b,l,v分别代表啥,E=BLV,分别解释一下字符代表的含义 电流V代表什么? 如何编译程序在开发板上面运行 国产猫粮排行榜上什么牌子猫粮好?大家都买了些什么猫粮? 编译器开发的四种技术 有哪些比较靠谱的猫粮牌子?猫的日常营养品,护理品,求推荐? 国产好猫粮有哪些,宠佩的怎么样? go猫粮出现众多问题,导致了哪些事故的发生? 怎样制作千千静听 国产猫粮哪些牌子比较让人放心? 怎么一搜国产猫粮哪种都有人说不好,有喂国产粮的朋友吗,到底有没有靠谱的牌子啊? 网购“go猫粮”,猫吃后呕吐便血,该品牌的猫粮到底存在哪些问题? 75%酒精湿巾能用来擦仓鼠住的玻璃缸吗? 如何制作一个没有声音的声音文件?就是这个声音文件是没有声音的。mp3格式。 那些红包挂的,是真是假? 个人号码标记申诉成功后,几天恢复正常 那些红包挂的,是真是假? 电压220V电流42安,怎样计算出它的多少千瓦? 220V功率怎样计算 电压220伏电流4,2安功率多少 电流是26A.电压是220V.怎么算功率? 220伏电压,60毫安电流,功率是多少? 三相220伏的设备,用卡表测得每相电流是0.5安,这个设备的功率是多少,如何计算呀 已知电源开路时的电压为220伏短路电流为2安,求电源最大输出功率? 220v电流计算公式大全 高低压成套设备的国家标准有哪些 什么是高低压成套设备 变压器过负荷烧坏调查报告怎么写 谁有观音菩萨的壁纸呀!求图 制绒质量检测的三种方法是什么 谁有西游记里 观音菩萨正面高清图片 谢谢 豆干和什么拌凉菜好吃 紫外可见分光光度计实验中途用归零吗