追本溯源——编译器的深入浅出

闲言碎语:

曾听人说过,一幅常人眼里精美绝伦的美术艺术品,对大师级的绘画者来说,只是不同线条和色彩的有机结合。美术大师的眼睛仿佛一把锐利而精准的手术刀,能将画作抽丝剥茧,拆解为最基础的一笔一划。

我想,所谓“外行看热闹,内行看门道”不外于此。即是说,境界越高深,所感悟的意境却越原始。这里面似乎又包含有几分返璞归真的禅意。

那么对于计算机而言,究竟要领会到什么意念,见到什么风景才能称得上“返璞归真”?也许,理解编译器的运作机理只是其中一步。

看山是山,看水是水。看山不是山,看水不是水。看山还是山,看水还是水。

可执行程序的组装

本次实验将尝试在Unbantu18.04中手动建立静态库,以下是三个初始程序,可以通过vim、nano等组件编译
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将hello.c编译成hello.o文件,并由.o文件生成静态库
在这里插入图片描述
在这里插入图片描述
复制libmyhello文件时出现权限不足的问题,于是进入root模式重试,最终libmyhello静态库连接成功

gcc编译工具的集中应用

在这里插入图片描述
在这里插入图片描述
gcc test.c -c test为一步编译test.c的指令,进入test.c文件发现编译成功
在这里插入图片描述
输出test.i文件存放test.c预处理后的代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参考文献中用test.i为原本转换为汇编代码的方式被报错,于是改为直接用test.c生成
在这里插入图片描述
动态库连接成功!

衍生之代码库

在 win10 系统中,“控制面板”–>“程序”—>“启用或关闭Windows功能”,启用 “telnet client” 和"适用于Linux的Windows子系统"
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后打开一个cmd命令行窗口,命令行输入 telnet bbs.newsmth.net
在这里插入图片描述
在这里插入图片描述
水木清华bbs论坛连接成功

实验总结

由俭入奢易,由奢入俭难,现代拥有鼠标、触摸屏等便利性应用器件的我们,恐怕很难想象到当年只有键盘的人们要如何操作计算机?
不过话又说回来,当三五十年后,计算机的延伸部件再次迎来创新性突破,那么在未来人们的眼里,我等这些仅凭鼠标键盘操纵计算机的家伙,是不是也已作古?
时间有如一条洪流,连通过去,驶向未来。人类这样渺小的生物所感知到的时间只是相对的,时间是无限的,时间也将无限下去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值