d,ldc构建共享库
module dimedll;
export void testFunc() { // 仅用`-fvisibility=hidden`编译时,需要export
import std.stdio;
writeln("This is from dll");
}
用ldc2 -shared dimedll.d
生成lib/dll
.
import dimedll : testFunc;
pragma(lib, "dimedll");
void main() {
import std.stdio;
writeln("构建ime");
testFunc();
}
用ldc2 -link-defaultlib-shared dime.d
生成带dimedll.dll
的exe
Posix
中区别是,不是用pragma(lib)
,你要用-L-ldimedll
链接至libdimedll.{so,dylib}
.