C 运行时对于 lua、haskell、java 等任何其他程序来说都是必不可少的吗?

Is C runtime an essential for any other programs like lua, haskell, java, etc...?

关于什么是运行时的 QnA:What is "runtime"?

我对运行时有一点了解。 为了让我的理解更稳健,我想问一个新问题。

对于 lua、haskell、java 等任何其他程序,C 运行时是否必不可少...?

我知道 C 库不仅实现了标准 C api,而且还实现了系统调用包装器。

而且我知道 lua 运行时与 C 程序没有什么不同。这意味着 lua 运行时基于 C 运行时。

所以我想任何其他语言都会遇到同样的情况。 因为只有C rumtime可以调用系统调用

我考虑过 linux 但我想 Windows 和其他 Unix 实现必须相同。

我说得对吗?

不一定。

所有用 C 编写的程序都使用 C 运行时环境,无论是标准库、main 函数之前发生的事情,还是其他。

如果 compiler/interpreter/virtual 机器是用 C 编写的,是的,它 使用 C 运行时。
OTOH,如果不是,它确实 不是

注意你要整个上去"compiler/interpreter/virtual machine chain."
如果 Haskell 解释器是用 C 编写的,那么用 Haskell 编写的 Python 解释器可能仍会间接依赖 C 运行时环境。

[...] it is only C rumtime [sic] which can call system calls.

没有。 C 运行时提供一些系统调用的包装器。您可以使用系统调用 在纯汇编语言中编写程序,完全不依赖 C 运行时库。