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
上一篇下一篇

猜你喜欢

热点阅读