我最近一直在阅读 D 编程语言,并且有兴趣将它用于将在 OpenBSD 上运行的小型应用程序。
据我所知,编译器没有 OpenBSD 端口,但我可以在 posix.mak 文件中看到对 OpenBSD 的引用。目前我没有方便的 OpenBSD 开发环境,所以在我准备一个之前,我想知道是否有人尝试在 OpenBSD 上使用 D 进行开发。
进展如何?设置容易吗?是否有任何“陷阱”需要注意?提前致谢。
官方的 druntime (for dmd) 不支持 OpenBSD。为了让任何带有 D 的操作系统都能正常工作,druntime 必须支持它。它可能会为 OpenBSD 构建并使用一些东西(我不知道),但要使其真正正常工作,它需要专门支持 OpenBSD。有许多特定于操作系统的版本块,除非存在 OpenBSD(或 Posix)的版本块,否则该功能将丢失,并且无法工作。如果缺少足够的东西,那么什么都不会起作用。
现在,从编译器到编译器,druntime确实在某种程度上有所不同,因为这是较低级别的系统特定的东西(例如,C 绑定到 glibc 和 Win32)。因此,gdc 和 ldc 有自己的 druntime 版本,并且很可能支持 OpenBSD。但是,官方编译器 dmd 目前不这样做。
所以,如果你想将 OpenBSD 与 D 一起使用,你将不得不查看 gdc 和 ldc。我相信 gdc 开发人员特别做了一些额外的工作来添加额外的操作系统和架构,因为它试图进入 gcc-proper,但我真的不知道它到底支持什么,我不知道最不发达国家的现状如何。但是,他们很有可能支持 OpenBSD。
我发现只有这个:https
://bitbucket.org/goshawk/gdc/src/b3b60fdac583/d/phobos/std/c/openbsd/openbsd.d
所以,至少 GDC(D 的 GCC 前端)有一些 OpenBSD 支持。但它是否有效 - 我不能说。
但是你可以试试:)