`

GCC相关

阅读更多
GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名:

http://www.cnblogs.com/cy163/archive/2009/03/12/1409434.html

  • -c 只执行预处理、调序和汇编。不做链接。则没main也不会报错
  • -C 预处理时,保留注释。
  • -E 预处理后中断。
  • -g 为了调试,而编译。
  • -l 将其它链接接库链接进来
  • -n 产生调试信息
  • -v 相看编译的每个步骤
  • -S 产生的汇编文件不删除
  • -shared  建立共享对象,供动态链接使用。也就是DLL
  • -static  和shared相反,建立静态对象。

http://gcc.gnu.org/install/
预处理cpp->编译->汇编assembly->链接ld

------------------------------
-Dname[=definition]
-Uname
-Idirectory[:directory[...]]

include 的搜索次序:
特定目录,如include "xxx.h"
-I指定目录
环境变量C_INCLUDE_PATH   CPATH
系统默认的include

------------------------------

RTL,寄存器传输语言,Register Transfer Language
符号表,symbol table,可以使用-as=filename.sym产生。
-Wa可以把命令选项传给汇编器,例:
gcc -Wa,-as=xx.sym,-L file.c
通过-Wa将-as是传给汇编器
这里的-L并非GCC选项,-L是指在符号表内包含局部符号。
-Wa,-as=xx.sym,-L   之间不能有空格,之间用逗号隔开。

gcc -g -Wa,-a=xx.list,-L  file.c
同时使用-g 和 -Wa,-a,输出的汇编将会和C源代码一起输出

------------------------------

.a  是archive,存档的意思
.so 是share object,共享对象的意思

libName.a,前置名称lib和后置名称.a都是标准。-l的时时候只要Name即可。

-Wa是与汇编器通信,那么
-Wl是与连接器通信,约束和-Wa一样。

gcc -Wl,-M f1.c f2.c > f.map
将输出链接脚本和链接的可执行文件“内在映像(map)”

------------------------------

-save-temps  可以保存所有中间文件
-fsyntax-only  只测试输入文件的语法是否正确。

分享到:
评论

相关推荐

    Redis离线安装 gcc相关依赖

    在本文中,我们将深入探讨如何在离线环境中安装Redis,并特别关注`gcc`相关依赖的处理。 首先,离线安装Redis的关键步骤包括准备所有必要的软件包和依赖项。在本例中,`gcc`是安装Redis所必需的,因为Redis的源码...

    Centos7 gcc相关的rpm软件包

    【CentOS7 GCC相关的RPM软件包】 在Linux操作系统中,GCC(GNU Compiler Collection)是开发者最常用的编译器套件,它支持多种编程语言,如C、C++、Fortran等。在CentOS 7环境下,为了构建、调试和优化程序,我们...

    GCC相关测试工具

    总之,GCC的相关测试工具,特别是Dejagnu,为开发者提供了一个强大的测试平台,确保了GCC的稳定性和可靠性。通过深入理解并熟练运用这些测试工具,开发者可以提升GCC的使用体验,同时也为开源社区贡献高质量的代码。

    CentOS 7 gcc相关依赖包

    标题提及的"CentOS 7 gcc相关依赖包"是指为了在CentOS 7系统上离线安装GCC,我们需要提前下载一系列必要的依赖包。这些依赖包确保了GCC能够正确安装并正常运行。在描述中提到,这些依赖包的目的是解决离线环境下安装...

    Suse安装gcc相关

    Suse安装gcc相关FORM SUSE-Linux-10.1-GM-DVD-i386.iso 包含 cpp-4.1.0-25.i586.rpm gcc-4.1.0-25.i586.rpm gcc-c++-4.1.0-25.i586.rpm gcc-info-4.1.0-25.i586.rpm gcc-java-4.1.0-25.i586.rpm glibc-devel-2.4-25....

    gcc 及相关依赖包

    包含cpp-3.2.2-5.i386.rpm gcc-3.2.2-5.i386.rpm glibc-devel-2.3.2-11.9.i386.rpm glibc-kernheaders-2.4-8.10.i386.rpm

    gcc manual gcc手册

    而`www.pudn.com.txt`可能是从PUDN网站下载的文本资料,可能包含了一些额外的GCC使用技巧或者与GCC相关的文章链接。 学习和理解GCC手册是提升编程技能和优化代码性能的关键,无论你是初学者还是经验丰富的开发者,...

    gcc-0.9_gcc源代码_9gcccom_9GCC_9gcc哦_

    如果你想要了解更多关于GCC 0.9的信息,可能需要访问相关的论坛或资源库,例如9gcccom可能是一个与GCC相关的网站或讨论组。 总的来说,GCC作为一款强大的、开源的编译器套件,对全球的软件开发有着深远的影响。它的...

    官方gcc相关文档压缩包,方便开发者使用

    在本压缩包中,我们有三个关键的文档:`gcc.pdf`、`gcc-cpp.pdf` 和 `gccgo.pdf`,它们分别涵盖了GCC的基础知识、C++支持以及Go语言支持的相关内容。 1. `gcc.pdf`:这份文档是关于GCC的基础指南,主要介绍了如何...

    gcc相关依赖包,gcc相关依赖包

    以下是关于GCC及其相关依赖包的一些关键知识点: 1. **基础依赖**:GCC的基础构建依赖于Glibc(GNU C Library),它是Linux系统中的标准C库,提供了许多系统调用接口和C语言的标准库函数。同时,GCC还需要GNU ...

    gcc_广义互相关_gcc时延_GCC互相关_gcc

    在IT领域,尤其是在信号处理和通信工程中,"GCC"通常指的是广义互相关(Generalized Cross-Correlation,GCC)。GCC是一种用于估计两个信号之间相对时延的技术,尤其适用于存在噪声、失真或者非线性效应的情况。GCC...

    centos7.4离线安装gcc相关rpm

    用于centos7.4离线安装gcc、g++,压缩包包含binutils-devel-2.25.1-31.base.el7.x86_64.rpm cpp-4.8.5-16.el7.x86_64.rpm gcc-4.8.5-16.el7.x86_64.rpm gcc-c++-4.8.5-16.el7.x86_64.rpm glib2-2.50.3-3.el7.x86_...

    gcc_广义互相关_gcc时延_GCC互相关_gcc_源码.rar

    这个压缩包文件的标题和描述都涉及到“广义互相关”、“GCC时延”和“GCC互相关”,这可能是指在信号处理或通信系统中的概念,以及它们与GCC编译器的关系。让我们深入探讨这些主题。 首先,让我们了解“广义互相关...

    GCC-Algorithm.rar_GCC matlab_GCC 广义互相关_GCC录音_gcc_广义互相关GCC

    **GCC(广义互相关)算法详解** GCC,全称为Generalized Cross Correlation,中文名为广义互相关,是一种在信号处理和模式识别领域广泛应用的算法。它主要用于估计两个信号的时间延迟,尤其适用于噪声环境中的声源...

    GCC_广义互相关_gcc时延_互相关时延_gcc_matlab

    在信号处理领域,广义互相关(Generalized Cross-Correlation, GCC)是一种重要的时延估计方法,尤其在声源定位、同步系统和通信工程中应用广泛。GCC 算法是基于传统的互相关函数(Cross-Correlation Function, CCF...

    gcc相关安装包.zip

    楼主安装gcc很不容易,17个依赖安装包,最后终于安装成功了,特此上传,解压到空文件夹,执行命令:rpm -ivh *.rpm一起安装即可

    openmotif22-2.2.3-18.i386.rpm及gcc相关32位rpm包

    描述中提到的“gcc相关32位rpm包”,GCC(GNU Compiler Collection)是GNU项目的一部分,是一个强大的多语言编译器集合,支持C、C++、Fortran、Ada等编程语言。这里特别提到了“compat-gcc-34-3.4.6-4.i386.rpm”,...

    GCC Cento Linux安装说明

    完成这些步骤后,新安装的GCC版本将可用于编译程序,且可以解决与旧版本GCC相关的任何兼容性问题。需要注意的是,为了防止不同版本的GCC之间产生冲突,它们通常会被安装在`/usr/local`目录下的特定版本目录中,而...

    GCC交叉编译工具链4.9.4

    而“GCC”则明确指出是与GCC相关的工具。此外,“cortexa7hf-neon”和“arm-linux-gnueabihf”表示这个工具链是为ARM架构的处理器设计的,特别是针对Cortex-A7内核并包含NEON向量处理单元的硬件浮点支持。 文件列表...

Global site tag (gtag.js) - Google Analytics