从C语言到汇编语言编程指南
1. GCC编译过程与文件处理
在使用GCC编译器时,我们可以通过 -save-temps 选项让GCC保留所有中间文件。同时,GCC允许我们提供已经经过前期步骤处理的文件,它会将这些文件融入到剩余的编译步骤中。例如:
- 如果我们编写的是汇编语言文件,GCC会跳过预处理和编译步骤,直接进行汇编和链接操作。
- 如果我们只提供目标文件(.o),GCC会直接进入链接步骤。
这样做的一个潜在好处是,我们可以用汇编语言编写程序来调用C标准库中的函数(这些函数已经是目标文件格式),GCC会自动将我们的汇编语言代码与这些库函数进行链接。
在命名文件时,要注意使用GNU编程环境中指定的文件名扩展名。编译器在每个步骤的默认操作取决于该步骤合适的文件名扩展名。若要查看这些命名约定,可以在命令行中输入 info gcc ,选择 Invoking GCC ,然后选择 Overall Options 。如果不使用指定的文件名扩展名,编译器可能无法按预期工作,甚至会覆盖所需的文件。
2. 从C语言到汇编语言的转换
C语言程序由函数组成,每个函数在程序中都有唯一的名称。在C运行时环境设置好后, main 函数会被调用,所以我们的程序通常从 main 函数开始。
下面是一个最简单的C程序示例:
/* doNothingProg.c
* Minim
超级会员免费看
订阅专栏 解锁全文
1078

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



