keil c51 编译器竟然不区分变量大小写!!
无意中发现的。。。。但是MDK没有这样的问题。MDK是区分大小写的。。以图为证。。大家可以验证一下:http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722117T2UCMI.jpg
(原文件名:截图00.jpg)
http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722118CUYO0P.jpg
(原文件名:截图01.jpg) 确实是这样~ 回复【1楼】xuyapple
-----------------------------------------------------------------------
呵呵。。 回复【楼主位】myqiang1990 小松鼠
-----------------------------------------------------------------------
楼主那个黑色背景是怎么设置的 历史遗留的原因!!!!!!! 回复【4楼】tsb0574 阿波
-----------------------------------------------------------------------
用那么久我一直都不知道还有这个东东。。。 主要是历史沿用问题,当年Intel的ASM-51和PL/M-51都是不区分大小写的,OMF-51(object module format)也不区分大小写。
Keil在做C51的时候,用了一个很正确的选择,就是兼容Intel OMF-51标准,这样获得了大量仿真器的支持,包括国内的多个厂家。
相反的是IAR使用的是自家的obj的文件,导致只能使用极少的国外天价仿真器,所以始终无法普及,到了后期Silicon Labs等公司的仿真器也出了IAR接口,奈何8051已经是无可奈何花落去了。 用了十几还没注意到这问题,学习了。 标准的C语言就是这样,有什么奇怪的?
不区分大小写那才叫奇怪呢~ 回复【8楼】yuyu87 雨
标准的c语言就是这样,有什么奇怪的?
不区分大小写那才叫奇怪呢~
-----------------------------------------------------------------------
确实是这样~ 回复【8楼】yuyu87雨
标准的c语言就是这样,有什么奇怪的?
不区分大小写那才叫奇怪呢~
-----------------------------------------------------------------------
KEIL C51正是不区分大小写。
(准确的说,是连接的时候不区分大小写) 回复【10楼】uc_stm32f050招开发工程师(深圳)
回复【8楼】yuyu87雨
标准的c语言就是这样,有什么奇怪的?
不区分大小写那才叫奇怪呢~
-----------------------------------------------------------------------
keil c51正是不区分大小写。
(准确的说,是连接的时候不区分大小写)
-----------------------------------------------------------------------
更准确的说,是具有外部链接的变量,不区分大小写。
内部连接static是区分的。
当然Keil C不符合标准的地方可以吐槽的地方太多了,比如把data, code这些作为关键字, 比如不完全标准的整型提升规则。 我今天也遇到了这情况~~~以前在PIC的开发平台上没有这情况,将程序移值过51来,就出现这问题了~~~以前用51的时候,还真的没想过有这情况~~~
页:
[1]