• C学习笔记-gcc


    GNU CC(通常称为GCC)是GNU项目的编译器,它能够编译C、C++语言编写的程序

    gcc的优点

    • 使用gcc,程序员可以控制生成二进制执行文件中调试代码的数量和类型。

    • 和其他编译器一样,gcc也可以优化执行代码。

    • gcc是个交叉平台编译器,所以能够在当前CPU平台上为不同操作系统开发软件。

    • gcc对C和C++进行了一些扩展,有助于提高执行效率以及编译器进行代码优化。

    • gcc可以让跨平台编程更加容易,降低代码移植代价

    gcc的大致流程

    gcc

    • 预处理
    gcc -o test.i -E test.c
    

    gcc对源程序test.c进行预编译,预编译结果输出到test.i文件中

    • 汇编
    gcc -o test.o -c test.i
    

    gcc对源程序test.c进行编译,但不链接,编译输出到test.o文件中

    • 链接
    gcc -o test test.o
    

    gcc对源程序test.o进行链接,生成可执行程序test

    gcc常用选项

    参数 作用
    -o filename 输出文件名,如果没指定filename,默认为a.out
    -c 只编译,不链接
    -E 预编译
    -S 汇编
    -g 包含调试信息
    -I 指定包含头文件路径
    -D 编译时定义指定的宏,相当于源代码中的#define宏定义
    -L 指定要链接库文件的路径
    -l 链接指定的库文件
    -O 优化编译后的代码
    -w 关闭所有告警信息
    -Wall 开启所有告警信息
    -Werror Warning当做错误处理
    -static 强制链接时链接静态库
    -fPIC 编译与位置无关的代码,主要用于编译共享库
    -shared 生成共享库so文件
    -pedantic 发现一些不符合 ANSI/ISO C标准的代码
  • 相关阅读:
    ZROI2018提高day9t1
    p2114 起床困难综合症
    EZOJ #78
    Linux JDK配置
    jps命令
    虚拟机 网卡模式配置
    redhat下yum命令安装(替换为centos yum命令)
    URL编码
    Query DSL(2)----Full text queries
    Query DSL(1)
  • 原文地址:https://www.cnblogs.com/cj5785/p/10664774.html
Copyright © 2020-2023  润新知