gcc编译和运行C程序
2017-12-28 本文已影响0人
奋斗live
本次案例使用如下代码进行测试
#include <stdio.h>
int add_range(int low, int high){
int i;
int sum;
for(i = low; i <= high; i++){
sum = sum + i;
}
return sum;
}
int main(){
int result[100];
result[0] = add_range(1, 10);
result[1] = add_range(1, 100);
printf("result[0] = %d\nresult[1] = %d\n", result[0], result[1]);
return 0;
}
gcc的基本用法
gcc[options][filenames]
当不使用任何选项的时候编译c代码,将产生一个a.out可执行文件,如下
image.png运行a.out进行查看
image.png
也可以为编译后的文件指定一个文件名,如下产生test可执行文件
image.png运行test查看
image.png
-o 后面必须跟上一个文件名,如 -o outline
1、预处理阶段
使用-E选项,对输入文件只做预处理不编译。当使用这个选项时,预处理器的输出被送到标准输出而不是存储到文件。如果想将预处理的输出存储到文件,可结合-o选项使用,使用如下,less指令是查看 test.i文件
image.png
2、编译阶段
使用-S进行编译,如下,产生.i为后缀的编译文件
image.png
3、汇编阶段
使用-c进行编译如下,将C源文件或者汇编语言文件编译成可重定向的目标文件(二进制形式),其默认后缀为.o。
image.png
4、链接阶段
可将不同的可重定向文件合并在一起,生成可执行文件
这里使用-c选项输出到成可执行文件,如下
image.png
5、执行阶段
然后就可以执行可执行文件了,如下
image.png