我目前正在编写自己的编程语言,主要用于教育目的。
在编写一个简单的 hello world 示例时,我意识到许多编程语言都采用以下形式:
write "hello world" to the console
return 0
- 是否所有程序都必须以某种方式返回整数?
- 做那些不做的 明确要求您声明返回值隐式返回 0 无论如何?
- 这是否会在流行的操作系统之间发生变化? Windows NT、Linux 内核还是 Mac OS Xs 内核?
- 如果是,为什么?
我不确定将此问题标记为什么,当然感谢任何帮助。
最佳答案
这是一个特定于操作系统的问题,因此没有人可以回答是否适用于所有操作系统。也就是说,我相信,在任何合理的操作系统中,是的 - 程序必须具有返回值。
为什么?链接程序执行,从而报告问题、重新启动等。 没有不返回值的程序,它只是一个对程序员隐藏它的编译器。
所有主要操作系统都是这种情况吗?大概。 0 通常意味着成功,但您在编写程序时不应该做出这样的假设;使用语言常量。
如果您编写自己的语言,您可以将错误代码(异常、终止原因)映射到宿主语言的错误代码。
关于language-agnostic - 所有程序都必须有返回值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18602613/