当前位置: 首页 > article >正文

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


http://www.kler.cn/a/294869.html

相关文章:

  • Docker无缝更新Zentao
  • 【C++】详解RAII思想与智能指针
  • 云防护单节点2T抗攻击能力意味着什么?
  • 2.操作系统常见面试问题2
  • MYSQL隔离性原理——MVCC
  • Spring学习笔记(四)
  • 景联文科技:专业图像采集服务,助力智能图像分析
  • 关于 ubuntu系统install的cmake版本较低无法编译项目升级其版本 的解决方法
  • Vue 3中的 路由守卫:全面解析与使用教程
  • 计算机毕业设计选题推荐-茶园茶农文化交流平台-Java/Python项目实战
  • 《语文建设》
  • Map
  • C#中的各种画刷, PathGradientBrush、线性渐变(LinearGradientBrush)和径向渐变的区别
  • C++动态规划及九种背包问题
  • 结账打印--SAAS本地化及未来之窗行业应用跨平台架构
  • 828华为云征文|华为云Flexus X实例docker部署最新gitlab社区版,搭建自己的私人代码仓库
  • Python 设置跨文件的全局变量
  • C++竞赛初阶L1-15-第六单元-多维数组(34~35课)551: T456501 计算矩阵边缘元素之和
  • 利士策分享,如何规划多彩的大学生活?
  • redis中使用lua脚本
  • 在 Linux 和类 Unix 系统中,终端(Terminal)和 Shell
  • zblog自动生成文章插件(百度AI写作配图,图文并茂)
  • SpringBoot教程(十五) | SpringBoot集成RabbitMq(消息丢失、消息重复、消息顺序、消息顺序)
  • 深度学习与大模型第3课:线性回归模型的构建与训练
  • AI对于程序行业的冲击
  • Java中的配置文件