keil报错syntax error near 'int', expected '__asm'解决方案

提示信息

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

Keil4
error C141: syntax error near ‘int’

解决方案:

int a;
int main(){
	a=1;
	int b=2;
}

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

原理

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

__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就去写单片机代码……

这段代码的错误可能是语法错误。以下是可能导致这些错误的一些问题和解决方法: 1. `main.c(29): error C141: syntax error near ')'` 这个错误提示附近有一个括号,可能是在括号内部或者括号前面有语法错误。请检查是否有括号未正确闭合或者是否有其他语法错误。 2. `main.c(32): error C141: syntax error near 'data'` 这个错误提示附近的`data`可能是变量或者函数名,可能是变量或者函数名的拼写错误或声明语法错误导致的。请检查是否有拼写错误或语法错误。 3. `main.c(48): error C141: syntax error near ')'` 这个错误提示附近有一个括号,可能是在括号内部或者括号前面有语法错误。请检查是否有括号未正确闭合或者是否有其他语法错误。 4. `main.c(49): error C141: syntax error near 'data'` 这个错误提示附近的`data`可能是变量或者函数名,可能是变量或者函数名的拼写错误或声明语法错误导致的。请检查是否有拼写错误或语法错误。 5. `main.c(56): error C141: syntax error near ';'` 这个错误提示附近可能有一个分号,可能是分号放错了位置或者存在其他语法错误导致的。请检查是否有分号放错位置或者是否有其他语法错误。 6. `main.c(66): error C141: syntax error near '='` 这个错误提示附近可能有一个等号,可能是等号放错了位置或者存在其他语法错误导致的。请检查是否有等号放错位置或者是否有其他语法错误。 7. `main.c(68): error C141: syntax error near 'data'` 这个错误提示附近的`data`可能是变量或者函数名,可能是变量或者函数名的拼写错误或声明语法错误导致的。请检查是否有拼写错误或语法错误。 如果您无法确定错误的原因,请将错误的代码行和附近的代码行贴在这里,以便我能够更好地帮助您排除错误。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值