如果我正在编写扩展解释语言的代码,那么使用D而不是C会有额外的开销吗?

Bre*_*k89 5 d

也许D运行时/ GC必须初始化并在每次调用函数时都会消失,这种方式不会使得它很有用,可以将较小的函数(如字符串)添加到lower,urlencode等中.我不知道如何这有效但我在C中写了一些扩展.

Pet*_*der 4

是的,D 运行时必须在 D 程序启动时初始化,并且(取决于您使用的库)需要调用静态构造函数。它是最小的,但就像你说的,对于小函数来说效率很低。

druntime 是开源的。这是druntime的main函数

如果您只是通过 C 接口(使用extern(C))导出函数并调用它们,则无需启动运行时,但如果您这样做,则不应使用 GC 或依赖静态构造函数等。

  • 但为什么每次调用函数时都需要初始化运行时呢?他可能只是创建了一个扩展脚本语言的共享库。 (5认同)