一、简述gcc的分布编译过程
gcc编译分为4个步骤分别是:预处理、编译、汇编、链接
预处理:展开头文件,删除注释,宏定义替换。代码:
gcc -E xxx.c -o xxx.i
编译:查错,若无错误将xxx.i文件转换为汇编文件。代码:
gcc -S xxx.i -o xxx.s
汇编:将汇编文件转换为二进制文件。代码:
gcc -c xxx.s -o xxx.o
链接:将二进制文件链接成可执行文件。代码:
gcc xxx.o -o xxx.out
至此编译完成
二、请计算3-1的运算过程
计算机没有减法,只有加法,需要经过源码、反码、补码转换计算,再将结果转换回人能识别的数字。
源码:最高位为符号位,其余为表示值
反码:最高位不变,其他位取反(正数反码是其本身)
补码:在反码的基础上,符号位不变,其他位加1(正数补码也是其本身)
3的源码、反码、补码分别如下
源码:0000 0011
反码:0000 0011
补码:0000 0011
-1的源码、反码、补码分别如下
源码:1000 0001
反码:1111 1110
补码:1111 1111
将 0000 0011 与 1111 1111相加得到 0000 0010,符号位为0,即为正数,所以最终答案为2
GCC编译步骤与二进制运算解析
文章详细阐述了GCC编译器的四个阶段:预处理、编译、汇编和链接,并通过示例代码说明每个步骤的作用。同时,解释了计算机中如何通过源码、反码和补码进行减法运算,以3-1为例,展示了从源码到结果的转换过程。
654

被折叠的 条评论
为什么被折叠?



