第七篇:gcc和arm-linux-gcc常用选项

发布者:彩虹微笑最新更新时间:2020-04-14 来源: eefocus关键字:gcc  arm-linux-gcc  常用选项 手机看文章 扫描二维码
随时随地手机看文章

一、gcc和arm-linux-gcc的常用选项

  • 常用选型

    • -v 查看gcc编译器的版本,显示gcc执行时的详细过程

    • -o Place the output into 指定输出文件名为file,这个名称不能跟源文件名同名

    • -E Preprocess only; do not compile, assemble or link

      只预处理,不会编译、汇编、链接

    • -S Compile only; do not assemble or link

      只编译,不会汇编、链接

    • -c Compile and assemble, but do not link

      编译和汇编,不会链接

  • 举例


    1. //举例一:

    2. gcc hell.c            /* 输出一个a.out,然后./a.out来执行该应用程序 */

    3. gcc -o hello hello.c   /* 输出hello,然后./hello来执行该应用程序(推荐使用这种方式) */


    4. //举例二:

    5. gcc -E -o hello.i hello.c    /* 对hello.c文件进行预处理,获得hello.i文件 */

    6. gcc -S -o hello.s hello.i    /* 对hello.i文件进行编译,获得hello.s汇编文件 */

    7. gcc -c -o hello.o hello.s    /* 对hello.s进行汇编,获得hello.o(OBJ文件)目标文件 */

    8. gcc -o hello hello.o         /* 对hello.o进行链接,获得 hello可执行文件*/

  • 总结

    1)输入文件的后缀名和选项共同决定gcc到底执行那些操作。
    2)在编译过程中,除非使用了-E、-S、-c选项(或者编译出错阻止了完整的编译过程),否则最后的步骤都是链接。


二、从.c文件到可执行文件过程

1459422-20180821162440671-174469098.png

关键字:gcc  arm-linux-gcc  常用选项 引用地址:第七篇:gcc和arm-linux-gcc常用选项

上一篇:简单说明gcc和arm-linux-gcc的区别
下一篇:arm-linux-gcc和简单的makefile

推荐阅读最新更新时间:2024-11-09 23:39

GCC精彩之旅(1)
在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器。目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。GCC不仅功能非常强大,结构也异常灵活。最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada等。 开放、自由和灵活是Linux的魅力所在,而这一点在GCC上的体现就是程序员通过它能够更好地控制整个编译过程。在使用GCC编译程序
[单片机]
Linux下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译
1.为什么不是gcc 之前我们花了三篇文章介绍Linux下如何进行C语言编程: Linux C语言编程(上篇) | gcc的使用 Linux C语言编程(中篇) | make的使用 Linux C语言编程(下篇) | gdb的使用 这是为了给接下来的Linux下嵌入式开发打好基础,尽快熟悉Linux下c编程,但是在开发stm32的时候,编译工具链要使用gcc-arm-none-eabi,为什么不是gcc呢?这就要说到linux下的交叉编译了,因为我们要在PC机上编译出可以运行在ARM上的程序,使用gcc编译出的是在PC上运行的程序,所以我们要使用gcc-arm-none-eabi进行交叉编译~ 2.gcc-a
[单片机]
Linux下开发stm32(一) | 使用<font color='red'>gcc</font>-arm-none-eabi工具链编译
关于GCC中断调用函数名的问题
问: 嗯。。最近学习AVR,我用的编译软件是GCC。。。 觉的网上这个方面的资料还是比较少的,用ICC的比较多。 如我用外部中断时,写中断函数用的中断函数名为 ISR(INTO_vect) 想知道用到其他函数时用的什么函数名!! 在库函数里,找了下没有找到。 答: 还可以按以下路径: WINAVR安装目录- avr- include- avr 可以找到对应各个型号的头文件,比如iom8.h对应mega8,里面有如下一段: #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) #define INT1_vect _VECTOR(2)
[单片机]
AVR 单片机与GCC 编程----之二
第二章 存储器操作 2.1 AVR 单片机存储器组织结构 AVR 系列单片机内部有三种类型的被独立编址的存储器,它们分别为:Flash 程序存储器、内部SRAM 数据存储器和EEPROM 数据存储器。 Flash 存储器为1K~128K 字节,支持并行编程和串行下载,下载寿命通常可达10,000 次。 由于AVR 指令都为16 位或32 位,程序计数器对它按字进行寻址,因此FLASH 存储器按字组织的,但在程序中访问FLASH 存储区时专用指令LPM 可分别读取指定地址的高低字节。 寄存器堆(R0~R31)、I/O 寄存器和SRAM 被统一编址。所以对寄存器和I/O 口的操作使用与访问内部SRAM 同样的指令
[单片机]
翻译和修改的AVR-gcc3.3的makefile。(用法:make clean /make all)
#============= MCU选择 =========================== # MCU name MCU = atmega8 #============= 输出格式选择 ====================== # Output format. (can be srec, ihex) FORMAT = ihex #============= 目标文件名(不带扩展名) ============ # Target file name (without extension). TARGET = main #============= 优化级别选择 ====================== # Optimiz
[单片机]
ARM架构下GCC中progma编译指示字
ARM架构下GCC中progma编译指示字 主要说#pragma pack() 1.为什么要内存对齐 2.裸机代码验证ARM9(S3C2440)的默认对齐字节数 (还不能证实) 3.验证奇数地址访问的可行性 (经实现可以看出,没有对奇数地址有特别要求) 4.struct大小
[单片机]
[AVR]使用Gcc编译时各种数据的长度
创建项目时,芯片选择ATMEGA16 各种数据类型长度如下 char 8位 short 16位 int 16位 long 32位 long long 64位 有空再测试下double、float的长度 后来偶然发现gcc提供一个头文件 stdint.h 可以这样定义新的变量 1 uint32_t a;//a是一个32位长无符号整型 2 uint64_t b;//b是一个64位长无符号整型 3 int8_t c;//等价于signed char c 直观,易懂,可移植性强..
[单片机]
科普贴:ICC GCC傻傻分不清?聊一聊编译器那些事儿
eeworld网消息,CPU这东西,大家除了关注工艺、主频、核心数量等规格信息之外,更在意的应该就是性能表现了。反应CPU性能的测试可谓是相当多样,但要说起最权威的,那就不得不提SPEC CPU测试了。 SPEC的全称是Standard Performance Evaluation Corporation,翻译过来是标准性能评估组织,它是一个全球性的第三方非营利性组织,由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成,目标是建立、维护一套用于评估计算机系统的标准。 在CPU性能测试上,SPEC CPU 2006是SPEC组织推出的最新版的软件(上一个版本SPEC CPU 2000已经基本没有人用了),同时也是最
[半导体设计/制造]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved