[C] gcc

概述

  • GNU C Compiler

流程

  • 预处理,生成.i文件(中间文件,看不到)
  • 编译,生成.s文件(中间文件,看不到)
  • 汇编,生成.o文件
  • 链接,生成可执行文件

参数

  • -E:预处理
  • -S:预处理,编译
  • -c:预处理,编译,汇编
  • -o:预处理,编译,汇编,链接
  • -g:生成调试信息
  • -std=c99:支持c99标准

文件

  • .c:c程序源代码
  • .i:c程序预处理输出,可被编译
  • .h:c程序头文件
  • .s:汇编语言
  • .S:有c命令的汇编语言,汇编前需进行预处理
  • .a:静态链库
  • .so:动态链库

命令

  • gcc main.c:编译链接main.c(当前目录生成a.out)
  • gcc main.c -o main.out:编译链接main.c(当前目录生成main.out)
  • gcc main.c -o ./out/main.out:编译链接main.c(当前目录下的/out目录生成main.out)
  • gcc -c main.c:编译main.c(生成main.o)
  • gcc main.o:链接main.o(生成a.out)
  • gcc main.o -o main.out:链接main.o(生成main.out)
  • gcc main.c libfunc.so -o app.out:将 main.c 和 libfunc.so 一起编译成 app.out

 

posted @ 2020-05-31 22:12  cxc1357  阅读(134)  评论(0编辑  收藏  举报