![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机系统
文章平均质量分 51
种起水稻
这个作者很懒,什么都没留下…
展开
-
链接 小结
如果没有ide,我们如何去编译两个关联的文件?比如我在main.cpp中需要一个叫做add的函数,但是这个函数的定义我却放在了一个叫做add.cpp的文件中那么我如何将两者关联?这时就需要链接出场了从一个普通文件------->可执行文件 一般需要四步1.预处理2.编译3.汇编4.链接这里就可以发现,链接是发生在最后,当编译器和汇编器将代码转成ASCII汇编语言文件后,成为可重定位目标文件 .o后,就需要链接器发挥作用了这里说明一下为了构造可执行文件,链接需要完成的两点1.符号解原创 2021-04-27 21:45:21 · 68 阅读 · 0 评论 -
从源代码到可执行代码
首先总的过程肯定是:预编译–>编译–>汇编–>链接1.预编译扩展源代码-----即将以字符 # 开头的命令,插入到源代码中,并形成以 xxx.i 为后缀的文件例如#include<…>将这一类的头文件插入程序文本中从这一步也可以#define也是进行在预编译中其具体过程就是将所有#define 宏定义全部进行展开所有用到宏定义的地方都会被替换一个定义如果被多次引用,那么就会在内存中有多个拷贝2.编译对xxx.i文件进行语法,语义上的检查,并最终转换成汇原创 2021-03-06 13:17:35 · 551 阅读 · 0 评论 -
原码,反码,补码
首先先了解无符号数的编码方法例如1个字节4位设Xi来表示每个位,且每个位取值为0或1那么一个字节就为:X3 X2 X1 X0对于无符号数的真值就是X3*2^3 + X2*2^2 + X1*2^1 + X0*2^0那么范围即为[ 0 , 2^4-1 ]那么对于有符号数来说需要最高位来判断正负-----0为正,1为负所以对于1个字节的的范围即为[ -2^3, 2^3-1 ]因为正数最多只能到0111 1111而负数最多可以到 1111 1111 所以负数的范围要比正数多1那么对于64位原创 2021-03-05 17:47:17 · 436 阅读 · 0 评论