导出具有 C 样式名称的函数?

Export a function with a c-style name?

在 windows 上,在 C 中,我可以这样做

void (*add)(int,int) = GetProcAddress(hDlangMod, "add");
add(422,244);

如果需要,您可以添加 extern (C) 来删除名称重整,请注意它会删除一些功能,例如 D 端的重载,但如果您需要从 C 轻松访问该功能,这是一个很好的解决方案!您可以在 https://dlang.org/spec/interfaceToC.html

中阅读有关它和其他技术的更多信息

TLDR:只需将其定义为 extern (C) void GetProcAddress(your params here) 和 link 适当,它就会起作用。

注意:同样的extern指令可以用于从C导入符号或导出到C++,以及其他语言和用途,它是一个非常有用的工具! 例如:https://dlang.org/spec/cpp_interface.html