如何创建可在其他语言上调用的win32api(dll)?例如:
当我使用ruby时,我应该使用我在C#或C ++上编写的dll。那么如何创建这样的动态库呢?
答案 0 :(得分:0)
C ++和C#Dlls之间存在重要差异。
C ++允许您公开可以从ruby调用的全局函数(使用__declspec(dllexport
))。
C#Dll包含一个清单,可用于查找所有类型并使用所述Dll中的整个对象模型。
我从未尝试过使用ruby的后者(即所有类型和类层次结构),但是,如果可能的话,它只是能够调用导出函数的首选方法。 IronRuby显然没有导入.NET类型的问题。
要创建C ++库,请选择Visual C ++ Win32项目,然后在随后出现的对话框中按Next以选中DLL复选框。否则,请选择Visual C#类库项目。
答案 1 :(得分:0)
你有两种方法。
Win32API
。