关于gcc

作者: 小胖_20c7 | 来源:发表于2019-05-29 17:42 被阅读0次
gcc的文件组成
1 /usr/bin(提供可执行文件gcc等)
2 /usr/lib/gcc/x86_64-redhat-linux
    1 include文件夹(给编译的时候,提供一些头文件)
    2 crt*.o文件(给链接的时候,提供一些预设的obj文件,主要是针对c++的构造函数和析构函数)
    3 libgcc.a(是为了gcc跨平台编译实现的库,提供一些浮点计算,整型计算等函数)
    4 libgcc_eh.a(为了处理c++异常实现的库)
3 /usr/libexec/gcc/x86_64-redhat-linux
    1 cc1(提供给gcc内部调用的c编译器)
    2 cc1plus(提供给gcc内部调用的cpp编译器)
    3 collect2(提供给gcc内部调用的链接器,它本质上调用ld)
4 /usr/libexec/getconf/default
    1 gcc需要的一些平台参数缺省值
5 /usr/share/doc
6 /usr/share/info
7 /usr/share/man
8 /usr/share/locale
gcc内部使用的程序:
cpp(package = cpp)
cc1(package = cpp)
cc1plus(package = gcc-c++
as(package = binutils)
collect2(package = gcc)
gcc涉及到的头文件
1 属于内核的头文件(kernel-headers):
    asm  asm-generic  drm  linux  mtd  python2.6  rdma  sound  uapi  video  xen
2 属于glibc的头文件(glibc-headers):
    /usr/include/**/*.h
3 属于gcc的头文件:
    /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/\*.h
4 属于g++的头文件:
    /usr/include/c++/**/*.h
5 用户的头文件:
    自定义位置
gcc涉及到的库文件
1 glibc(ld.so, libc.so, librt.so等)
2 libgcc(libgcc_s.so,为了实现跨平台编译,提供了一套相关的跨平台函数)
3 libstdc++(libstdc++.so)
4 crt1.o(提供入口函数)
5 crti.o  crtn.o(提供初始化函数和清理函数)
关于库文件的链接顺序
ld crt1.o crti.o user.objs system.objs crtn.o
gcc头文件搜索路径
`gcc -print-prog-name=cc1` -v
`gcc -print-prog-name=cc1plus` -v
gcc其它搜索路径(包括lib的静态搜索路径)
gcc -print-search-dirs

相关文章

  • 关于GCC

    本文参考: gcc编译器学习记录 gcc的使用简介与命令行参数说明 1. 什么是GCC? The GNU Comp...

  • 关于gcc

    gcc的文件组成 gcc内部使用的程序: gcc涉及到的头文件 gcc涉及到的库文件 关于库文件的链接顺序 gcc...

  • LLVM(1)-编译自己的LLVM和Clang

    1、引言 作为一名iOS开发,很难不从各种渠道听说关于LLVM的消息,如早年编译器从GCC过度到LLVM-GCC,...

  • redis

    GCC Linux 安装gcc、gcc-c++编译器 yum -y install gcc gcc-c++ GNU...

  • 5_嵌入式C语言编译器

    关键词:GCC与gcc有什么不同、交叉编译、 gcc关键编译选项 1. GCC与gcc有什么不同? GCC(GNU...

  • CentOS 7 安装 Redis

    1、安装gcc 查看gcc是否安装:$ yum list installed | grep gcc 安装gcc:$...

  • Centos7安装nginx

    1、gcc 编译依赖gcc环境,如果没有gcc环境,需要安装gcc yum install gcc-c++ 2、P...

  • yum升级高版本 5.3 gcc

    gcc 4.8安装 gcc 4.9 安装 gcc 5.2 安装

  • Nginx安装操作手册

    1.yum install gcc gcc-c++ (gcc -v) 2.yum -y install gcc z...

  • linux CentOS8安装redis

    安装编译工具 安装编译工具# yum install -y gcc gcc-c++检查gcc的版本# gcc --...

网友评论

      本文标题:关于gcc

      本文链接:https://www.haomeiwen.com/subject/fhfytctx.html