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

相关推荐
C羊驼7 分钟前
C语言学习笔记(十):操作符
c语言·开发语言·经验分享·笔记·学习
王小义笔记21 分钟前
WSL(Linux)如何安装conda
linux·运维·conda
偷懒下载原神31 分钟前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
源远流长jerry38 分钟前
RDMA 传输服务详解:可靠性与连接模式的深度剖析
linux·运维·网络·tcp/ip·架构
自信150413057591 小时前
选择排序算法
c语言·数据结构·算法·排序算法
AMoon丶1 小时前
Golang--垃圾回收
java·linux·开发语言·jvm·后端·算法·golang
忆和熙1 小时前
AArch64异常指令与异常表(ARMv8异常机制——AArch64异常调用指令与异常表)
arm开发·arm异常
Densen20141 小时前
发布blazor应用到Linux, 使用nginx作为WebSocket代理
linux·websocket·nginx
hongtianzai1 小时前
Laravel7.x十大核心特性解析
java·c语言·开发语言·golang·php
相思难忘成疾1 小时前
RHEL9 文件管理与 vi/vim 编辑操作实验
linux·编辑器·vim