zoukankan      html  css  js  c++  java
  • C语言 gcc 编译程序

    C语言 gcc 编译程序

      上篇博客写到了 编写HelloWorld,不管是通过IDE还是记事本最终的验证结果还是需要运行程序来核验,C语言在编写完成后需要通过gcc编译成可执行程序来进行使用,下面我会进行说明。

    C语言 编译过程

    一、C程序编译步骤

    C代码编译成可执行程序经过4步:

    1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法

    2)编译:检查语法,将预处理后文件编译生成汇编文件

    3)汇编:将汇编文件生成目标文件(二进制文件)

    4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去

    通过 gcc 编译程序

    一、编译程序

    1) 分步编译、(手动编译经过每次步骤)

    • 预处理: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.exe

    2)一步编译、(还是经过:预处理、编译、汇编、链接的过程):

    • gcc -o demo.exe hello.c 

    二、gcc 使用参数、后缀含义

    选项

    含义

    -o file

    指定生成的输出文件名为file

    -E

    只进行预处理

    -S(大写)

    只进行预处理和编译

    -c(小写)

    只进行预处理、编译和汇编

    文件后缀

    含义

    .c

    语言文件

    .i

    预处理后的 C 语言文件

    .s

    编译后的汇编文件

    .o

    编译后的目标文件

  • 相关阅读:
    用友跨账套查询
    用友单据导入
    Delphi Math单元函数
    9.golang 字符串操作
    7.golang 结构体和指针
    6.golang 数组,切片,映射
    5.golang 控制流程 if, else if ,switch ,defer使用
    golang 指针类型* ,以及 &取变量内存地址
    phpjwt 第三方库生成token验证,也可以做公钥,私钥的验证方法。
    golang采坑一 expected ';', found 'import'
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/12368215.html
Copyright © 2011-2022 走看看