Linux编程基础1 GCC程序编译

一 简介

        GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套GNU编译器套装以 GPL 及 LGPL许可证所发行的自由软件,也是 GNU 计划的关键部分,亦是自由的类Unix及苹果电脑 Mac OS X 操作系统的标准编译器。

二 编译过程


2.1 编译包含一下四个步骤:
        1. 预处理(Pre-Processing)
        2. 编译(Compiling)
        3. 汇编(Assembling)

        4. 链接(Linking)


2.2 编译过程中涉及到的文件后缀以及文件类型如下:
        .c: C语言源代码文件 
        .a: 由目标文件构成的库文件
        .C, .cc或.cxx: C++源代码文件
        .h: 头文件
        .i:  已经预处理过的C源代码文件
        .ii:  已经预处理过的C++源代码文件
        .o: 编译后的目标文件
        .s: 汇编语言源代码文件

        .S: 经过预编译的汇编语言源代码文件


2.3 整个编译过程如图2.1所示:


                                     图2.1

三 gcc命令详解


2.1 gcc命令格式如下:

        gcc [options] [filenames] 


2.2 options可选参数如下:
        -o [output_filename]: 目标文件名
        -c: 只编译出.o
        -g: 编译带有调试信息,GDB调试用
        -O: 优化
        -O2: 更优化
        -I [include_folder_path]: 将目标目录加入gcc标准头文件目录
                注:#include<>: 从gcc标准头文件目录寻找文件,如/usr/include/
              注:#include"": 当前目录
        -L [library_folder_path]: 加入库文件目录路径
        -l [lib_name]: 引用库文件,路径需要在默认库路径或-L添加
        -static: 静态库链接文件
        -Wall: 生成所有警告信息
        -w: 不生成任何警告信息 
        -D: 相当于define
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值