我很惊讶为什么会这样?
short main [] ={};
这是文件中唯一的内容。它在 gcc 上编译正确。但是当我运行它时,它会打印段错误。当我重命名 main 时,编译器给出错误。 任何人都可以向我解释这里发生了什么。
最佳答案
显然链接器不知道全局对象的类型(比如:变量或函数),而只知道地址;所以它链接程序就好像你的变量是一个函数一样。由于显而易见的原因而崩溃。
关于C 角落案例和陷阱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3618270/