D 中的模板和共享库

发布于 2024-11-19 19:11:40 字数 160 浏览 2 评论 0原文

刚刚意识到一些事情:

D 中的几乎所有内容都正在变得模板化。对于单个可执行文件来说这太棒了,但是它如何与共享库一起工作呢?如果在编译之前没有生成代码,那么 D 就无法创建使用模板的共享库,不是吗? (例如,火卫一必须是静态的——没有其他办法,对吧?)

I just realized something:

Nearly everything in D is becoming templated. That' awesome for a single executable, but how does that work with shared libraries? If no code is generated until it's compiled, then D can't make shared libraries that use templates, can it? (e.g. Phobos has to be static -- there's no other way, right?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

卷耳 2024-11-26 19:11:40

嗯,这与 C++ 代码是同样的问题。

只能预编译非模板部分。其他一切都必须提供完整的源代码。

Phobos 是共享库还是静态库在这里没有太大区别。由于 dmd 的共享库问题,它仍然是静态的。

Well, it's the same issue like with C++ code.

Only the non-templated parts can be precompiled. Everything else must be provided with full source code.

Phobos being a shared or static library doesn't make much difference here. It's still static because of dmd's issues with shared libraries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文