keil5问题报错,不支持裸函数中的非ASM语句

1个回答
展开全部
摘要 亲,您好,很高兴为您解答这个错误通常是因为在裸函数中使用了非汇编语句,而keil5不支持在裸函数中使用非汇编语句。解决方法是将所有的非汇编语句移动到函数外部,或者使用汇编语言重写裸函数。
咨询记录 · 回答于2023-03-21
keil5问题报错,不支持裸函数中的非ASM语句
亲,您好,很高兴为您解答这个错误通常是因为在裸函数中使用了非汇编语句,而keil5不支持在裸函数中使用非汇编语句。解决方法是将所有的非汇编语句移动到函数外部,或者使用汇编语言重写裸函数。
在keil5的core-cm3.c文件中出现四处错误1.不支持裸函数中的非ASM语句2.裸函数不允许参数引用
亲,很高兴为您解答1. 不支持裸函数中的非ASM语句这个错误通常是由于在裸函数中使用了C语言语句而不是汇编语句,导致编译器无法识别。裸函数是一种只包含汇编语句的函数,用于直接操作硬件或执行高度优化的代码。解决方法:将裸函数中的C语言语句替换为对应的汇编语句即可。2. 裸函数不允许参数引用裸函数没有函数参数,因此不能在函数体内引用参数变量。解决方法:将参数传递到裸函数外部,并使用全局变量或宏定义来访问它们。或者使用汇编语句直接将参数传递给函数。
能具体点吗?
亲,很高兴为您解答1. 不支持裸函数中的非ASM语句裸函数是一种没有预定义的入口和出口,不进行任何栈处理的函数。因此,它只能使用汇编语言来实现,不能使用C语言中的非ASM语句。如果在裸函数中使用了非ASM语句,会导致编译错误。2. 裸函数不允许参数引用裸函数不进行任何栈处理,因此不能通过栈传递参数。如果在裸函数中使用了参数引用,会导致编译错误。要想在裸函数中使用参数,可以使用全局变量或寄存器传递参数。针对这两个问题,建议您检查代码中是否有使用了非ASM语句或参数引用的裸函数,并进行相应的修改。
能发照片吗?
亲,不好意思哦~我们暂时发不了照片的您可以根据解决方法去操作的
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消