【发布时间】:2010-09-01 13:03:10
【问题描述】:
我很惊讶为什么会这样?
short main [] ={};
这是文件中唯一的内容。它在 gcc 上正确编译。但是当我运行它时会打印分段错误。当我重命名 main 时,编译器会出错。 谁能解释一下这里发生了什么。
【问题讨论】:
-
我确定我已经看过这个了,你声明了一个外部符号 main 并且链接器不关心类型。这是不正确的 C.
-
-1 用于询问为什么一些具有未定义行为的荒谬代码“有效”(在非常反常的意义上更糟,不少于)。
-
我想有人应该提到这个IOCCC entry。
-
在什么情况下给出分段错误算作有效?
-
我的问题是为什么编译时没有 main 函数。
标签: c platform-specific