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等程序,它们不需要启动文件、标准库文件。

相关推荐
霖.247 分钟前
四种常用SVC(service)及其与Ingress协作方式
linux·服务器·云原生·kubernetes·k8s
songyuc1 小时前
【Ubuntu】请问,『kill -9』跟『kill -15』有区别吗?
linux·ubuntu
iconball1 小时前
个人用云计算学习笔记 --15. (Linux 系统启动原理、Linux 防火墙管理))
linux·运维·笔记·学习·云计算
dragoooon341 小时前
[Linux基础——Lesson2.Linux的基本指令使用]
linux·运维·服务器
NiKo_W1 小时前
Linux 基础IO与系统IO
linux·io·文件系统
深思慎考1 小时前
LinuxC++——spdlog日志使用入门
linux·数据库·c++
hweiyu001 小时前
从0手写自己的Linux x86操作系统(视频教程)
linux·运维·数据库
铭哥的编程日记1 小时前
《Linux 基础 IO 完全指南:从文件描述符到缓冲区》
android·linux·运维
K 旺仔小馒头2 小时前
【代码的暴力美学】-- C语言基础编程题_1
c语言·刷题
XCOSnTh2 小时前
XCOSnTh单片机的串口
c语言·单片机·嵌入式硬件·算法·xcosnth