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

COMPILER_ABSTRACTION头文件的关键字

在查看某个项目工程的过程中发现底层存在一个.c后缀的汇编文件,一时感兴趣注意到asm关键字,往下走发现了这个头文件。

#if defined ( __CC_ARM )#ifndef __ASM#define __ASM               __asm#endif#ifndef __INLINE#define __INLINE            __inline#endif#ifndef __WEAK#define __WEAK              __weak#endif#ifndef __ALIGN#define __ALIGN(n)          __align(n)#endif#ifndef __PACKED#define __PACKED            __packed#endif#define GET_SP()                __current_sp()#elif......#endif

asm,通常用于嵌入汇编代码 https://zhuanlan.zhihu.com/p/455686605

inline是内联,与代码优化等级相关,他是建议而不是强制。https://blog.csdn.net/huanghui167/article/details/41346663

weak用于解决可能的重定义。https://eureka1024.blog.csdn.net/article/details/81628417

align用于指定对齐。https://biao2488890051.blog.csdn.net/article/details/89525819

packed用于压缩字节对齐现象,提高传输速率使用。https://xiaopengzhen.blog.csdn.net/article/details/90751116

current_sp表示当前的堆栈指针,我们可以在Register视图看到SP。


http://www.mrgr.cn/news/47402.html

相关文章:

  • 【HarmonyOS Next NAPI 深度探索1】Node.js 和 CC++ 原生扩展简介
  • 如何从 Keycloak 的 keycloak-themes.jar 中提取原生主题并自定义设置
  • 大语言模型训练的数据集从哪里来?
  • Flask----前后端不分离-登录
  • 用c实现C++类(八股)
  • 信息系统管理师试题-流程管理
  • 东方博宜 1176. 素数问题
  • LangChain
  • 电商序列推荐算法
  • 基于springboot的大学生体质测试管理系统(含源码+sql+视频导入教程)
  • 【云原生】利用 docker api 管理容器
  • HWS赛题 入门 MIPS Pwn-Mplogin(MIPS_shellcode)
  • 二分法(Bisection Method)求解方程 f(x)=0近似解(MATLAB)
  • 基于java的零食销售系统(源码+定制+开发)
  • 前端_001_html扫盲
  • 逼近理论及应用精解【14】
  • HT8312 内置高效率自适应电荷泵升压,防削顶失真功能,DIAB切换的5.2W单声道高保真音频功率放大器
  • Vue3 ECharts看板
  • 全网最详细k8s搭建部署
  • IPguard与Ping32敏感内容防护能力对比,两款知名防泄密软件对比
  • Qt和c++面试集合
  • 10.10 Qt定时器和Tcp通信
  • (八)Proteus仿真STM32单片机GPIO驱动数码管
  • LLM - 配置 ModelScope SWIFT 环境与 Qwen2-VL 模型推理 教程 (1)
  • Shell编程-什么是shell
  • 【含文档】基于Springboot+Android的校园论坛系统(含源码+数据库+lw)