我是靠谱客的博主 爱笑手链,这篇文章主要介绍keil报错syntax error near 'int', expected '__asm'解决方案提示信息解决方案:原理,现在分享给大家,希望可以做个参考。

提示信息

Keil5
error C141: syntax error near ‘int’, expected ‘__asm’

Keil4
error C141: syntax error near ‘int’

解决方案:

复制代码
1
2
3
4
5
6
int a; int main(){ a=1; int b=2; }

c不支持中途定义,把变量定义放到函数中的最前面

原理

c是不可以中途定义的(c++显然可以),那么为什么会报这个奇怪的错呢?
对报错信息的解读:
syntax error near ‘int’, expected ‘__asm’
__asm是表明后面的语句是汇编语句,用法是

复制代码
1
2
3
4
5
__asm (汇编语句) __asm{ (汇编语句) }

我没写过汇编,具体参见https://blog.csdn.net/wcccg/article/details/78496940
可是没有汇编为什么会报汇编的错呢?因为int刚好是汇编的一种操作符(interrupt routine),表示中断,具体参见https://blog.csdn.net/sagittarius_warrior/article/details/53128613
keil在编译的时候无法理解这句语句,于是便找了一个理由,但是这个理由可能和你的错误没有关系

顺便说一句:
  keil4的报错是error C141: syntax error near 'int’没有后面的expected ‘__asm’,连问题出在哪里都不知道= =,所以还是下个新版keil5吧,还支持中文编码。
  问题还是出自于自己只学了c++没学c就去写单片机代码……

最后

以上就是爱笑手链最近收集整理的关于keil报错syntax error near 'int', expected '__asm'解决方案提示信息解决方案:原理的全部内容,更多相关keil报错syntax内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部