求高手,求大牛, java调用dll问题,急!急!急!
我这里有个dll 我要用java调用。C#调用代码如下:
// 类中调用dll的方法
byte[] buffer;
StringBuilder codeBuilder = new StringBuilder(8, 8);
SundayAPI.GetCodeFromBuffer(1, buffer, buffer.Length, codeBuilder);
[DllImport("Sunday.dll", CharSet = CharSet.Ansi)]
public static extern bool GetCodeFromBuffer(Int32 LibFileIndex, Byte[] FileBuffer, Int32 ImgBufLen, StringBuilder Code);
请高手帮忙翻译成java能调用!
最好用JNative.jar来做!
小弟不胜感激! --------------------编程问答-------------------- 传送门 --------------------编程问答--------------------
.....我自己google 百度 还是会的 ...不过还是谢谢顶帖 --------------------编程问答-------------------- 学习下。 --------------------编程问答-------------------- 看看这个:《JNI Programmer’s Guide and Specification.pdf》
也许对你有帮助。 --------------------编程问答-------------------- 自己顶下 c++的 bstr 字符串对应java 的什么类型 求大神 --------------------编程问答-------------------- 有没有大牛? --------------------编程问答-------------------- 这需要会JAVA又会.NET的神人啊 --------------------编程问答-------------------- JNA没什么难的,看下quick start入门10分钟:https://github.com/twall/jna
对应的java和C/C++的参数对应关系:顺便再说一句,写的dll千万不要把framework的库加载进来,不然dll到没有这些framework的地方没法用!!
Default Type Mappings
Java primitive types (and their object equivalents) map directly to the native C type of the same size.
Native Type Size Java Type Common Windows Types
char 8-bit integer byte BYTE, TCHAR
short 16-bit integer short WORD
wchar_t 16/32-bit character char TCHAR
int 32-bit integer int DWORD
int boolean value boolean BOOL
long 32/64-bit integer NativeLong LONG
long long 64-bit integer long __int64
float 32-bit FP float
double 64-bit FP double
char* C string String LPTCSTR
void* pointer Pointer LPVOID, HANDLE, LPXXX
补充:Java , Java SE