《程序员的自我修养》总结(一)

一. 计算机领域

   1.计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。(dso的pic通过got表来实现,vmware虚拟机,java的跨平台等等)

   2.计算机硬件为os提出接口,供os使用;os为应用程序提供api,让其使用os实现的功能;.....;在层次结构的实现中,下层提供接口和服务供上层使用。

二. 编译链接

 1. gcc生成可执行文件的过程: 预编译--编译--汇编--链接

 2.编译的基本过程: 词法分析--语法分析--语义分析--中间代码生成(优化)--目标代码生成与优化

 3.链接器的年龄比编译器的长

三。目标文件(elf,coff,pe)

1、目标文件以段(section)的形式表示,elf包括header,section表和各种段(含有text段、data段、bss段、rodata段、comment段、重定位表、符号表、init、fini、字符串表、调试信息等);

2. 符号修饰和函数签名

3.弱符号、弱引用

四、静态链接

1. 两步:合并目标文件的段、空间与地址分配,  符号解析与重定位

2.commom块

3.c++重复代码的消除(模板函数、虚函数表、默认构造函数等)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值