[入门] alias int (*FARPROC)()与DLL函数动态加载

qiezi 2007-05-14
def文件里加上:
EXPORTS
dllprint = D5mydll8dllprintFZv

把要改名的都列起来,其实一样很烦人。。如果D支持在代码中改名就好了:
export("dllprint") void dllprint() { printf("hello dll world\n"); }

当然目前是没有支持。如果受不了这名字,就把方法声明成extern(C)吧:
export extern(C) void dllprint() { printf("hello dll world\n"); }

这个名字不会被打乱了。
oldrev 2007-05-14
为什么要用重整过的名字来动态加载?
如果是DLL要提供给其他语言使用的话用 export extern(Windows) 声明,如果只是D语言用的话 可以导出几个export extern(Windows) interface xxx createxxxObject(),或者直接静态加载。
Global site tag (gtag.js) - Google Analytics