C语言编译过程

C语言编译过程

  • C程序编译步骤
  • gcc编译过程
    • 分步编译
    • 一步编译
      • 查找程序所依赖的动态库

C程序编译步骤

C代码编译成可执行程序经过4步:
(1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法
(2)编译:检查语法,将预处理后文件编译生成汇编文件
(3)汇编:将汇编文件生成目标文件(二进制文件)
(4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去
C语言编译过程_第1张图片


gcc编译过程

分步编译

预处理:gcc -E hello.c -o hello.i
编 译:gcc -S hello.i -o hello.s
汇 编:gcc -c hello.s -o hello.o
链 接:gcc hello.o -o hello

C语言编译过程_第2张图片

C语言编译过程_第3张图片

一步编译

gcc hello.c -o hello(还是经过:预处理、编译、汇编、链接的过程)

C语言编译过程_第4张图片

查找程序所依赖的动态库

(1)Linux平台下,ldd(“l”为字母) +可执行程序

(2)Windows平台下,需要相应软件(Depends.exe)

你可能感兴趣的:(C,c语言)