arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -o start.o start.s

arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -o start.o start.s

1、-Wall:【Warning all】

选项可以打印出编译时所有的错误或者警告信息。这个选项很容易被遗忘,编译的时候,没有错误或者警告提示,以为自己的程序很完美,其实,里面有可能隐藏着许多陷阱。变量没有初始化,类型不匹配,或者类型转换错误等警告提示需要重点注意,错误就隐藏在这些代码里面。没有使用的变量也需要注意,去掉无用的代码,让整个程序显得干净一点。下次写Makefile的时候,一定加-Wall编译选项。

2、-O0:【Optimize 优化】

表示编译时没有优化。

-O1: 表示编译时使用默认优化。

-O2: 表示编译时使用二级优化。

-O3: 表示编译时使用最高级优化。

-Os:相当于-O2.5优化,但又不所见代码尺寸,具体见链接:点击打开链接 点击打开链接

3、-nostdlib:【No Standard Library 】

不连接系统标准启动文件和标准库文件,只把指定的文件传递给连接器。这个选项常用于编译内核、bootloader等程序,它们不需要启动文件、标准库文件。

相关推荐
代码AC不AC23 分钟前
【Linux】计算机的基石:从冯·诺依曼体系结构到操作系统管理
linux·操作系统·冯诺依曼体系结构
玩转C语言和数据结构30 分钟前
C语言编程入门攻略(最新学习路线,适合新手小白)
c语言·c语言入门·c语言下载·c语言知识点总结·c语言自学·c语言教程·c语言怎么学
大柏怎么被偷了1 小时前
【Linux】进程等待
linux·运维·服务器
Bona Sun1 小时前
单片机手搓掌上游戏机(十四)—pico运行fc模拟器之电路连接
c语言·c++·单片机·游戏机
偶像你挑的噻2 小时前
12-Linux驱动开发- SPI子系统
linux·驱动开发·stm32·嵌入式硬件
无限进步_2 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
松涛和鸣2 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
念风3 小时前
[lvgl]如何优雅地向lv_port_linux中添加tslib支持
linux
自由的好好干活3 小时前
使用Qoder编写ztdaq的C#跨平台示例总结
linux·windows·c#·qoder
口袋物联4 小时前
设计模式之适配器模式在 C 语言中的应用(含 Linux 内核实例)
c语言·设计模式·适配器模式