所有程序都必须具有返回值吗?

时间:2013-09-03 22:38:47

标签: language-agnostic coding-style operating-system

我目前正在编写自己的编程语言,主要用于教育目的。

在编写一个简单的hello world示例时,我意识到许多编程语言采用以下形式:

write "hello world" to the console
return 0
  • 所有程序都必须以某种方式返回整数吗?
  • 做那些不做的事 明确要求您声明返回值隐式返回0 呢?
  • 这是否会在基于的流行操作系统之间发生变化 Windows NT,Linux内核还是Mac OS Xs内核?
  • 如果是,为什么?

我不确定将此问题标记为什么,当然感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这是一个操作系统特定的问题,所以没有人可以回答,如果它适用于所有操作系统。也就是说,我相信,在任何合理的操作系统中,是的 - 程序必须具有返回值。

为什么呢?链接程序执行,从而报告问题,重新启动等。 没有程序不返回值,它只是一个将程序员隐藏起来的编译器。

所有主要操作系统都是如此吗?大概。 0通常意味着成功,但在编写程序时不应该做出这样的假设;使用语言常量。

如果您编写自己的语言,您可以将错误代码(例外,终止原因)映射到主机语言的错误代码。