函数,从编辑到编译 (下) -- 一文带你了解编译 链接

上篇的链接在这里:
函数,从编辑到编译 (上) --带你了解预编译做了什么

下面继续:

2. 编译

所谓编译过程,就是**把预处理完的文件进行一系列词法分析,语法分析,语义分析及优化后生产相应的汇编代码文件。**这一步是整个程序构建的核心部分,也是最容易出错的一部分。

从现在开始,步骤就变得十分复杂了。

对函数来说,这一阶段是最繁琐也是最为危险的:稍有不慎,轻则 warning 重则 error

我见过许多出错的函数,他们连着行号被编译器带到窗口,当街示众。

也有些函数和 #pragma 关系比较好,小错误被遮掩过去,免去了示众的命运。

2.1 扫描

我们要先经过一台扫描器 (Scanner),这机器如此庞大,以至于我根本看不出内部的细节。

我对大型机器充满好奇,编译器给了我一本手册——《编译宝典》,他说里面有讲扫描器的实现。

可我看不懂。

编译器告诉我,想要参透这本宝典,需要付出代价。

“代价?像岳不群那样?”

“你想哪儿去了!你说的那是《葵花宝典》,我说的代价是时间和精力!编译器这种庞大的工程,需要一个团队来合作完成,除非你是打算写写玩具编译器。”

所以我放弃了造出这些

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值