gpt4 book ai didi

d - D 语言是否完全依赖于 D 运行时?

转载 作者:行者123 更新时间:2023-12-04 05:13:38 35 4
gpt4 key购买 nike

最近一直在学习D语言。我一直对运行时感到困惑。

从我能收集到的关于它的信息中,(这不是很多)我知道它是一种有助于 D 的一些特性的运行时。像垃圾收集一样,它与您自己的程序一起运行。但是既然 D 是编译成机器码的,如果我们的程序不需要的话,它真的需要垃圾回收等功能吗?

真正让我感到困惑的是以下陈述:

"You can write an operating system in D."



我知道你不能真正做到这一点,因为操作系统比任何编译语言在不使用汇编的情况下所能提供的更多。但是如果你有一个调用 D 代码的内核,D 运行时会阻止 D 在这样一个准系统环境中运行吗?还是 D 运行时比这更简单?它可以
被认为只是源文件/库的“自动”包含,当与您的应用程序一起编译时,与自己编写代码没有什么区别?

也许我只是看错了。但我确信有关该主题的一些信息可以使很多人受益。

最佳答案

是的,确实,您可以在您的主模块(或任何地方)中实现编译器期望的 DRuntime 功能,无需运行时编译,它就可以正常工作(tm)。

如果您只是在没有运行时的情况下构建代码,编译器会在缺少它期望由运行时实现的符号时发出错误。然后你可以去看看 DRuntime 是如何实现它的,看看它做了什么,然后以你喜欢的任何方式实现它。这就是 XOmB,用 D 语言编写的内核(虽然是语言版本 1,但同样的交易)所做的:http://xomb.net/index.php?title=Main_Page

很多 DRuntime 实际上并没有被许多应用程序使用,但它是将 D 的运行时组件包含到应用程序中的最方便的方式,所以这就是为什么它作为静态库(希望将来成为共享库)完成的原因。

关于d - D 语言是否完全依赖于 D 运行时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13305972/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com