下面是一份C语言从编译到运行的详细攻略。
什么是编译?
在讲解编译的过程之前,我们需要了解什么是编译。 编译是一个将源代码翻译成计算机可以识别的二进制代码可执行文件的过程。 因此,您需要一个编译器来将源代码转换成可执行文件。
编译的过程
编译过程分为四个阶段:
- 预处理。
- 编译。
- 汇编。
- 链接。
预处理
在预处理阶段,编译器将在源代码中查找预处理器指令,并对这些指令进行解释。这些指令有助于更改源代码的结构或在编译代码之前定义一些常量。在预处理阶段,编译器将使用文件扩展名为.i
的文件作为输出。
预处理的示例代码:
#include <stdio.h>
int main()
{
printf("Hello world\n");
return 0;
}
预处理的命令:
gcc -E hello.c -o hello.i
编译
在编译阶段,编译器将处理预处理后的文件,检查语法,并生成一只.s
格式的汇编文件,包含处理过的汇编代码。
编译的示例代码:
#include <stdio.h>
int main()
{
printf("Hello world\n");
return 0;
}
编译的命令:
gcc -S hello.c -o hello.s
汇编
在汇编阶段,编译器需要将.s
汇编文件翻译为机器语言指令,并生成一个目标文件。目标文件通常是二进制文件,包含使用机器指令编写的程序。
汇编的示例代码:
section .data
section .text
global _start
_start:
;write out Hello World
mov edx,len
mov ecx,msg
mov ebx,1
mov eax,4
int 0x80
;exit program
mov eax,1
xor ebx,ebx
int 0x80
section .data
msg db 'Hello, world!',0xa ;the string to print
len equ $ - msg ;length of the string
汇编的命令:
gcc -c hello.s -o hello.o
链接
在链接阶段,将创建可执行文件,并将编译器产生的目标文件链接起来创建一个单独的可执行文件。 在链接阶段,我们可以使用其他库文件或静态库文件。 链接的结果是一个包含所有必需符号的可执行文件。
链接的示例代码:
gcc hello.o -o hello
总结
以上就是C语言从编译到运行的全过程。UICollectionViewCell在一个iOS应用中,是一个十分重要的视图,需要进行些列的初始化工作和操作后,才能完成正常的使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言从编译到运行过程详解 - Python技术站