【发布时间】:2009-12-05 09:07:27
【问题描述】:
我们最近遇到了一个问题 (ANTLR “Cannot launch the debugger. Time-out waiting to connect to the remote parser.”),其中存在一个运行时错误,这可能是由于(变量)名称中区分大小写并且与操作系统相关。这是在 ANTLR 中,但我更普遍地想知道是否存在名称不同的常见情况(在任何语言中),程序编译时名称不同,但由于名称冲突而存在运行时错误。 UNIX 和 Windows 之间是否也可能存在差异?
作为一个可能的例子,我可以在同一个包中创建两个 Java 类:
Foo 在Foo.java 和
foo 在foo.java
在 UNIX 上,而我不能在 Windows 上做同样的事情?如果不是,这是否被编译器困住了?它对大小写相等有什么限制?以及其他常用语言是如何处理这个问题的?
[当然我不是故意尝试这样做,但错误会蔓延,我严重依赖编译器来检测它们。]
【问题讨论】:
标签: language-agnostic case case-sensitive