标题: 为什么Keil编译器会认为我要写汇编代码? [打印本页]
作者: Humorize 时间: 2019-2-2 21:27
标题: 为什么Keil编译器会认为我要写汇编代码?
用的IDE是Keil μVision V5.26.2.0,是Keil官网2018年的版本,它的编译器是C51 Compiler V9.59.0.0- #include<reg51.h>
- typedef unsigned int u16;
- void main()
- {
- P0=0x01;
- u16 i;
- }
复制代码把声明新变量的语句放在给8位IO口赋值的语句后会让编译器报如下错误:
- syntax error near 'u16', expected '__asm'
- 'i': undefined identifier
复制代码如果交换代码的第5、6行,那么编译器不报错
为什么先给8位IO口赋值再声明新变量会让编译器报错
作者: HC6800-ES-V2.0 时间: 2019-2-3 08:52
申明放前面是没有错的。
至于为什么还不知道,也看到过全局变量写中间也没有报错。
作者: mengzhixinheng 时间: 2019-2-3 09:08
c语言基础语法问题
作者: iofree 时间: 2019-2-3 17:29
我估计应该是编译规则的问题,别的版本也有同样情况,声明还是要放在前面
作者: 钻牛尖滴刘尖尖 时间: 2019-2-3 20:00
c语言基础语法问题 VS 8051单片基本应用,还要磨合一阵子了
作者: 狮巴瑞 时间: 2019-2-16 16:00
这是早期c语言规定的。把c语言标准换成c99就可以了
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |