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

Greenhills学习总结

学习背景:近期参与xx项目过程中,遇到较多的关于代码集成编译的知识盲区,因此需要进行相关知识的学习和扫盲。

参考资料:GreenHills2017.7编译手册:本手册是GreenHills 2017.7.14版编译器的软件使用手册。该手册详细介绍了GreenHills编译器的使用方法、配置选项、编译流程以及常见问题解决方案,旨在帮助用户更好地理解和使用GreenHills编译器 - GitCode

20分钟Makefile光速入门教程_哔哩哔哩_bilibili

代码编译过程:

Direct Binary Generation Compilation (白色箭头 )

Traditional Compilation:黑色箭头;

Direct Binary Generation Compilation (白色箭头);

 编译选项配置逻辑:

  1. 读取配置选项,当配置选项相矛盾时以后面的配置为准,当无法识别配置选项时,会忽略该配置并告警;
  2. driver按照文件的顺序进行处理,若一个文件存在问题,driver将继续处理后续的文件;若driver无法识别文件扩展名,会将该文件传递给链接器处理;

ccppc hello.c 产生以下类型文件:.out 

  1. .o  目标文件。总是被编译器保留;
  2. .map 链接器生成;
  3.  .dnm 包含基础的调试信息;
  4. .dla 包含基础的调试信息;

 可识别的文件名:

 ld文件:链接器指令(.ld)文件定义了可执行文件的程序段将程序段分配给不同的存储区。

eg: ccppc hello.c mylinkfile.ld

产生其他的文件:

ccppc hello.c-S   //产生汇编语言
ccppc hello.c-c   //产生.o文件ccppc hello.c foo.o-archive-o libfoo.a  
//This command produces alibrary of object file called libfoo.a, which contains two object files, hello.o and foo.o.
//When using the-archive option to create a library, you must use the-o option to specify a name for it.

Driver Options for Intermediate Forms of Output:

可以通过一个文件来表示编译选项;会被识别的字符: 空格、制表符、换行、双引号,不能增加注释

 举例如下:

makefiles:

20分钟Makefile光速入门教程

 

http://www.lryc.cn/news/464607.html

相关文章:

  • 【深入学习Redis丨第八篇】详解Redis数据持久化机制
  • 【27续】c++项目练习
  • Lazarus Query转EXCEL功能
  • AnaTraf | 深入探讨DNS流量分析:保障网络稳定性的关键
  • P1017 [NOIP2000 提高组] 进制转换
  • 计算机网络—vlan(虚拟局域网)
  • C++头文件大全及解释
  • 基于 Django 的电商比价系统
  • Excel重新踩坑2:Excel数据类型;自定义格式(设置显示格式);分列操作;其他常用操作;一些重要操作
  • python从0快速上手(十四)数据库操作
  • 【热门主题】000004 案例 Vue.js组件开发
  • Ingress-nginx中HTTPS的强制转发
  • C++深入探寻二叉搜索树:数据管理的智慧之选
  • Python 文件 I/O 入门指南
  • Atlas800昇腾服务器(型号:3000)—YOLO全系列NPU推理【检测】(五)
  • 1.2.3 TCP IP模型
  • 选择、冒泡和插入排序及其优化版本课件
  • Matlab自学笔记三十九:日期时间型数据的算术运算:加减运算
  • Java-多线程2
  • POWER_CONMETRICS的packet wakeup events触发条件的代码走读
  • Bug:通过反射修改@Autowired注入Bean的字段,明确存在,报错 NoSuchFieldException
  • Vue项目兼容IE11
  • 可以帮助你快速禁用windows自带的防火墙程序defender control,有效解决占用内存大的问题,供大家学习研究参考
  • 2024年9月电子学会Scratch图形化编程等级考试二级真题试卷
  • STL-vector+题目
  • 微服务--Gateway网关--全局Token过滤器【重要】
  • 负载均衡在线判题系统【项目】
  • 重构复杂简单变量之用子类替换类型码
  • 【Nginx系列】Nginx配置超时时间
  • 2024年龙信