最近一直在学习D语言。我一直对运行时感到困惑。
从我能收集到的关于它的信息中,(这不是很多)我知道它是一种有助于 D 的某些功能的运行时。像垃圾收集一样,它与您自己的程序一起运行。但是既然 D 被编译成机器码,如果我们的程序不需要的话,它真的需要垃圾回收等功能吗?
真正让我感到困惑的是以下陈述:
“你可以用 D 编写操作系统。”
我知道你不能真正做到这一点,因为操作系统比任何编译语言在不使用汇编的情况下所能提供的更多。但是如果你有一个调用 D 代码的内核,D 运行时会阻止 D 在这样的准系统环境中运行吗?还是 D 运行时比这更简单?是否可以将其简单地视为源文件/库的“自动”包含,当与您的应用程序一起编译时,与您自己编写该代码没有什么不同?
也许我只是看错了。但我确信有关该主题的一些信息可以使很多人受益。