加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_扬州站长网 (https://www.0514zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux的GCC编译器

发布时间:2022-09-16 16:11:14 所属栏目:Linux 来源:
导读:  GCC(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语言编译器。GCC 原本作为GNU操作系统的官方编译器linux编译器,现已被大多数类Unix操作系统(如 Linux、BSD、Mac OS X 等)采纳为标准的编
  GCC(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语言编译器。GCC 原本作为GNU操作系统的官方编译器linux编译器,现已被大多数类Unix操作系统(如 Linux、BSD、Mac OS X 等)采纳为标准的编译器,GCC 同样适用于微软的 Windows。
 
  GCC 最初用于编译 C 语言,随着项目的发展 GCC 已经成为了能够编译 C、C++、Java、Ada、fortran、Object C、Object C++、Go 语言的编译器大家族。
 
  这里只是简单介绍如何编译 C 程序或者 C++ 程序最终成为一个可执行程序。
 
  gcc识别的文件扩展名如下:
 
  .c C 语言文件
 
  .i 预处理后的 C 语言文件
 
  .C、.cc、.cp、.cpp、.c++、.cxx C++语言文件
 
  .ii 预处理后的 C++ 语言文件
 
  .S 汇编文件(用户自己新建的汇编文件)
 
  .s 预处理后的汇编文件
 
  .o 编译后的目标文件
 
  .a 目标文件的静态链接库(链接时使用)
 
  .so 目标文件的动态链接库(链接、运行时使用)
 
  gcc 和 g++ 编译器的编译过程
 
  1、预处理
 
  2、编译
 
  3、汇编
 
  4、链接
 
  gcc 常用编译应用实例
 
  分步编译:
 
  1)gcc -E hello.c -o hello.i
 
  2)gcc -S hello.i -o hello.s
 
  3)gcc -c hello.s -o hello.o
 
  4)gcc hello.o -o hello_elf
 
  编译选项说明:
 
  -o file指定生成的输出文件名为 file
 
  -E只进行预处理
 
  -S只进行预处理和编译
 
  -c只进行预处理、编译和汇编
 
  文件名后缀说明:
 
  .c C 语言文件
 
  .i 预处理后的 C 语言文件
 
  .s 预处理后的汇编文件
 
  .o 编译后的目标文件
 
  程序编译成功后,通过“./”运行这个可执行程序。
 
  常用编译(还是经过:预处理、编译、汇编、链接的过程):
 
  gcc hello.c -o demo
 
  如果是 C++ 代码,只需改用 g++ 编译器即可。
 
  如果没有 g++ 编译器,在线安装即可:
 
  使用 g++ 编译 c++ 程序:
 
  gcc、g++ 编译的其它一些选项
 
  -v 显示制作gcc工具时的配置命令,显示预处理器、编译器的版本号
 
  -Wall 生成所有级别的警告信息
 
  -w 关闭所有警告,建议不使用此选项
 
  -Idir 将dir目录加入头文件搜索目录列表,优先在dir目录中查找包含的头文件
 
  -Ldir 将dir目录加入库文件目录列表,优先在dir目录中查找库文件
 
  -lname 链接库为name的库
 
  -static 链接时使用静态库
 
  -shared 编译动态库
 

(编辑:应用网_扬州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!