myqiang1990 发表于 2012-2-25 16:48:44

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)

xuyapple 发表于 2012-2-25 17:25:37

确实是这样~

myqiang1990 发表于 2012-2-25 17:42:07

回复【1楼】xuyapple
-----------------------------------------------------------------------

呵呵。。

wtiechen1969 发表于 2012-2-25 19:10:12

回复【楼主位】myqiang1990 小松鼠
-----------------------------------------------------------------------

楼主那个黑色背景是怎么设置的

tsb0574 发表于 2012-2-25 20:45:51

历史遗留的原因!!!!!!!

myqiang1990 发表于 2012-2-25 20:52:42

回复【4楼】tsb0574 阿波
-----------------------------------------------------------------------

用那么久我一直都不知道还有这个东东。。。

i55x 发表于 2012-2-25 22:08:46

主要是历史沿用问题,当年Intel的ASM-51和PL/M-51都是不区分大小写的,OMF-51(object module format)也不区分大小写。
Keil在做C51的时候,用了一个很正确的选择,就是兼容Intel OMF-51标准,这样获得了大量仿真器的支持,包括国内的多个厂家。

相反的是IAR使用的是自家的obj的文件,导致只能使用极少的国外天价仿真器,所以始终无法普及,到了后期Silicon Labs等公司的仿真器也出了IAR接口,奈何8051已经是无可奈何花落去了。

funv 发表于 2012-2-26 08:22:00

用了十几还没注意到这问题,学习了。

yuyu87 发表于 2012-2-26 08:38:03

标准的C语言就是这样,有什么奇怪的?
不区分大小写那才叫奇怪呢~

wjwjwjwj98 发表于 2012-2-26 10:27:43

回复【8楼】yuyu87 雨
标准的c语言就是这样,有什么奇怪的?
不区分大小写那才叫奇怪呢~
-----------------------------------------------------------------------

确实是这样~

uc_stm32f050 发表于 2012-2-26 10:30:22

回复【8楼】yuyu87雨
标准的c语言就是这样,有什么奇怪的?
不区分大小写那才叫奇怪呢~
-----------------------------------------------------------------------
KEIL C51正是不区分大小写。

(准确的说,是连接的时候不区分大小写)

theophilus 发表于 2012-2-26 10:46:10

回复【10楼】uc_stm32f050招开发工程师(深圳)
回复【8楼】yuyu87雨
标准的c语言就是这样,有什么奇怪的?
不区分大小写那才叫奇怪呢~
-----------------------------------------------------------------------
keil c51正是不区分大小写。
(准确的说,是连接的时候不区分大小写)

-----------------------------------------------------------------------
更准确的说,是具有外部链接的变量,不区分大小写。
内部连接static是区分的。


当然Keil C不符合标准的地方可以吐槽的地方太多了,比如把data, code这些作为关键字, 比如不完全标准的整型提升规则。

yesful 发表于 2012-3-5 14:46:19

我今天也遇到了这情况~~~以前在PIC的开发平台上没有这情况,将程序移值过51来,就出现这问题了~~~以前用51的时候,还真的没想过有这情况~~~
页: [1]
查看完整版本: keil c51 编译器竟然不区分变量大小写!!