用顷唤delphi写的dll,很容易调不用写头文件,而且类型转换比较轻松,用Linux C++或VC++写就比较烦,建议你最好用 Int 和 char*字符串这两种类型。其他类型会容易出错,而且在调jni时如果要起线程指悄来调的话,JVM会容易出问题。建议你把阻塞的时间设长一点。 请采纳
我帮你解释一下吧,你这里的调用dll用词不准在。net平台上,调用dll文件有2种含义
1、调用托管dll,即你使用。net平台开发的dll,属于托管代码
2、调用非托管dll,即传统的dll,一般是C++,VB,DELPHI等等开发出来的,属于非托管代码。
从你的意思中看出来你现在是调用托管的dll,方法是 “在解决方案管理器” - “解决方案”(或项目) 中的任意地方, 右键“添加引用”,“浏览”,选择你需要调用的dll文件,确定即可,该dll会自动复制到bin目录,打包时也会弯雀自动复制到你发布的地方。
添加完了引用,现在如何调用呢?
如果有命名空间则引入命名空间,比如你的y。dll里面,是a命名空间,有一个b类,然后有一个无参数静态方法c
那么调用方法就是a.b.c(),跟你普通的使用类是一样的
然后是非托管dll
需要添加dll的名称,以及方法,也就是你所用到的dll的每个方法都需要添加一次,
[DllImport("msvcrt.dll")]
public static extern int puts(string c)
你这点分数亩脊对不住我一个一埋耐早个敲出来的字啊。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)