首页
学习
活动
专区
圈层
工具
发布

GCC 编译器的使用

要编译出能在 ARM 平台上运行的程序,必须使用交叉编译工具 xxx-gcc、xxx-ld 等(不同版本的编译器的前缀不一样,比如 arm-linux-gcc),下面分别介绍。...本节文档使用 x86 上的 gcc 来试验,使用 ARM 板的交叉编译工具链做实验时效果也是类似的。不同的交叉编译器工具链前缀可能不同,比如 arm-linux-gcc。...(5)-v 显示制作 GCC 工具自身时的配置命令;同时显示编译器驱动程序、预处理器、编译器的版本号。以一个程序为例,它包含三个文件,代码在 02_options 目录下。...不使用‘-O’或’-O1’选项时,只有声明了 register 的变量才分配使用寄存器。 使用了’-O’或‘-O1’选项,编译器会试图减少目标码的大小和执行时间。...如果同时指定了‘-B’选项和 GCC_EXEC_PREFIX 变量,编译器首先使用`-B’选项,然后才尝试环境变量值。

5K31

【linux学习指南】Linux编译器 gcc和g++使用

动态库: .so (linux).dll(windows) 静态库: .a (linux).lib 最后的答案是:系统把这些函数实现都被做到名为 libc.so.6 的库文件中去了,在没有特别指定时...gcc 在编译时默认使用动态库。完成了链接之后,gcc 就可以生成可执行文件,如下所示。...O0 O1 O2 O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高 w 不生成任何警告信息。 Wall 生成所有警告信息。...总结 gcc 和 g++ 是 GNU Compiler Collection (GCC) 中的两个编译器,分别用于编译 C 和 C++ 语言的源代码。...文件扩展名 使用 gcc 编译的源文件通常是 .c 文件,而使用 g++ 编译的源文件通常是 .cpp 或 .cc 文件。

1.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    gcc编译器

    一、gcc编译器 编译器:把文件经过处理,生成对应的可执行文件。 //test.c文件: X86平台上面:   gcc编译器,可以在x86平台上面运行。...ARM平台上面的:   arm-linux-gcc   交叉编译器:在一个平台编译生成可执行文件,在另外一个平台运行可执行文件。   例如windows下面的keil就是一个交叉编译器。 ?...\n"); } gcc编译 gcc main.c -o main ? ? ? ? ? ? ? ? ? ? ? ? 例子: 下面以一个很简单的 main.c 来探讨这个过程。...二、多个文件的编译   如果仅仅只有一个文件,直接:gcc main.c -o main.o   但是如果你的程序是使用模块化编程的,又该怎么处理?.../main 三、Linux的静态库和动态库 ? ? ? ? ? ? ? ?   上面2个文档:sequence.c、sequence.h 可以做出库的形式,让其他的文件调用。

    2.9K10

    GCC编译器基本使用方法

    仅仅是一个编译器,不是IDE,没有界面,只能在命令行下使用。...这个.out后缀对于Linux是没有意义的,Linux的文件类型就是那么几类。它不依文件后缀来区分文件类型。下面按照指定可执行文件的名称来编译一次。 ? GCC是可以分步编译源文件的。...这时候你可能会想到使用IDE吧!不使用GCC了。不能一键编译,好蠢,好麻烦。幸运的是,虽然GCC没有自动项目管理工具,但是它提供了Makefile文件来帮助我们提高写程序的效率。...GCC可以使用-O0,-O1,-O2,-O3可以优化程序。O0表示不优化,O3表示优化等级最高。 GCC使用-Wall来打印警告信息,这样有助于调试程序。 GCC使用-w来忽略所有的警告。...GCC使用-g包含调试信息,这在使用gdb调试的时候是必要的。

    2.4K20

    深入了解Linux —— 理解gcc编译器

    前言 学习了vim编辑器,我们能够在Linux下写代码,那我们如何让代码运行起来呢?...现在就来学习使用gcc gcc/g++编译器 现在有这样的一个test.c文件 我们使用gcc对它进行编译,形成可执行程序(默认形成a.out) 编译-链接 隐约记得,在C语言学习中,简单的学习过编译和链接...,当时也使用了gcc形成中间临时文件; 现在再来看一下,文件编译链接的过程 这里简化一下: 这里再简单描述一下,描述一下gcc选项及其功能。...预处理指令以#开头 gcc -E code.c -o code.i -E:让gcc编译器在预处理结束后就停止 -o:指模板文件,.i文件是已经预处理过的C原始程序 2....在上文ldd查看动态链接库中lib.so.6就是动态库 gcc默认使用动态库。 gcc选项 -E:只进行预处理,不生成文件,需要重定向到一个文件中。

    1.8K10

    【C 语言】Windows 下使用 gcc 编译器 ( 常用的编译器 | Qt 中的 gcc 编译器 | 独立安装 MinGW )

    一、常用的编译器 常用编译器 : MSVC GCC MinGW CLANG ; MSVC : 微软 MicroSoft 的 VC 编译器 , Windows 开发时使用该编译器 ; GCC : Linux...中常用的编译器 , 一般嵌入式 , Linux , Android 相关的都使用该编译器 ; CLANG : MAC 中一般使用该编译器 ; MinGW : 全称 Minimalist GNU on...Windows , Windows 中使用的 GCC 编译器 ; 二、使用 Qt 中的 gcc 编译器 Qt 中的 gcc 编译器其实是 MinGW 下的编译器 ; 在之前的 【Qt】Qt 开发环境安装...下的 GCC 编译器 ; 目录 : Qt 根目录\Tools\mingw730_64\bin 将该目录配置到 Path 环境变量中 , 即可在命令行中使用 gcc 编译器 ; 命令行使用 gcc -v..., 将 D:\001_Programs\013_MinGW\bin 目录配置到环境变量 Path 中 , 注意放在 Qt 的 gcc 前面 ; 执行 gcc -v 命令 , 查看版本号 ;

    5.7K50

    Linux之gcc的使用

    :sudo yum -y install gcc b.外部定义宏参数 gcc test.c -DSHOW//在外部给test.c定义宏SHOW gcc+文件名不加任何选项就是直接将源代码翻译成可执行程序...此后你再有上网需要的时候就不必再跑到网吧了,而是直接在房间里就可以使用。那么你家长从网吧买回那个你经常使用的电脑让你以后不用再去网吧了,这个过程就相当于静态链接。...所谓静态链接就是每次我需要使用库中的函数时,直接从库中拷贝一份。...动态链接库:前缀为lib,后缀为.so 静态链接库:前缀为lib,后缀为.a libc.so.6去掉前缀lib和后缀.so以及版本号.6,最后只剩下c,所以这个是C标准库 指定静态链接 当我不指定时Linux...将自动采用动态链接,如果要使用动态链接就要在编译生成可执行文件时加上static选项gcc test.c -o mytest -static 如果系统中没有动态库只有静态库,那么即使不指定-static

    4.1K00

    【Linux系统】带你入门编辑器vim与编译器gcc

    也欢迎关注我的blog主页: 落羽的落羽 一、Linux下的编辑器—vim 1. vim的基本概念 之前学习C/C++时我使用的VS2022,是一个IDE集成环境,包含了编辑、调试、编译、运行一系列功能...但在Linux环境下,这一过程的每一步其实是分开独自进行的。其中Linux中最常用的代码编辑器,就是vim。...二、编译器gcc 1. 基本使用 gcc和g++是C/C++领域最常用的编译器,gcc只能用来编译C语言,g++可以编译C和C++ 源文件形成可执行程序的过程,分为预处理、编译、汇编、链接。...如上图中的C语言标准库libc.so.6就是动态库,gcc默认使用动态库,gcc默认使用的链接方式就是动态链接。...gcc中使用-static指令就可以指定使用静态链接。 所以,一般情况下都是用动态链接好~ 本篇完,感谢阅读

    52510

    深入探秘编译之道:在GCC的世界里雕刻代码与梦想,Linux中的GCC编译器原理与使用详解

    作为Linux世界中最为广泛使用的编译器,GCC不仅仅是程序员手中的工具,它更是一把通向计算机奥秘的钥匙,揭示了语言如何变为机器指令,如何将思维转换为计算的力量。...一、GCC的起源与发展 GCC,最初由理查德·斯托曼(Richard Stallman)于1987年发布,最初的目标是为GNU操作系统提供一个自由的编译器。...随着时间的推移,GCC逐渐发展成为支持多种编程语言的强大编译器套件,涵盖了C、C++、Fortran、Ada、Objective-C等多种语言。...如今,GCC已不仅仅是一个编译器,它更是一个编程工具链的核心,为开源社区的蓬勃发展提供了强大的支撑。...gcc 在编译时默认使用动态库。

    86610

    编译器介绍 - LLVM、GCC、Clang

    是伊利诺伊大学为了提供一个现代的、基于 SSA(静态单一赋值) 的、可以动态、静态编译任何编程语言的编译方案而开展的研究项目,核心是个编译器工具集。...GCC GNU(操作系统)编译器套装(the GNU Compiler Collection)。...是许多现代类 Unix 操作系统默认的编译器,包括 Mac OSX 系统,但后来 Mac OSX 改为用 Clang 编译器了。...Clang 是 LLVM 编译器工具集的前端,输出代码对应的抽象语法树(AST),再编译成LLVM Bitcode,由后端使用 LLVM 编译成平台相关的机器代码。...因为 GCC 使用 GPL 协议(反版权),因此 Apple 无法闭源使用修改版的 GCC,而 LLVM 支持 BSD 协议(商业友好),于是有了 Clang。

    2.7K20

    【Linux探索学习】第八弹——Linux工具篇(三):Linux 中的编译器 GCC 的编译原理和使用详解

    Linux下的vim编辑器:【Linux探索学习】第七弹——Linux的工具(二):Linux下vim编辑器的使用详解-CSDN博客 前言: 在上一篇我们学习了如何在Linux环境下直接用vim编辑器来进行编辑代码...,今天我们来学习如何运行我们所编辑的代码,运行代码就需要编译器,也就是我们下文要讲的gcc编译器 提醒:本文是在Ubuntu系统下进行的操作 一、什么是GCC GCC 是一个开源的编译器,它由 GNU...它是 Linux 和其他 UNIX 系统中最常用的编译器之一。...七、总结 GCC 是 Linux 中强大的编译工具,灵活且功能丰富。...熟练掌握 GCC 的使用,有助于提升编程效率,并使得开发过程更加顺畅。希望本文能为你提供一个良好的起点,帮助你开始使用 GCC 编译器。 感谢各位大佬观看,创作不易,还望各位大佬点赞支持!!!

    1.3K10

    【Linux】Linux编译器-gccg++使用

    【Linux】Linux编译器-gcc/g++使用 背景知识(四个阶段主要操作) 动静态库 gcc选项 背景知识(四个阶段主要操作) 预处理 (1)对源代码进行文本级别的处理,预处理后的源码(通常“...j (1).i :预处理后的源代码 (2).s 文件:汇编语言文件 (3).o 文件:(Linux/Unix 系统,Windows 系统对应.obj) 目标文件(Object File)...动态库后缀**“.so”** gcc 在编译时默认使用动态库。...-shared 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库....-O0 -O1 -O2 -O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高 -w 不生成任何警告信息。 -Wall 生成所有警告信息。

    73410
    领券