jni使用技巧点滴(二)--.

jni使用技巧点滴(二)--.

ID:22376204

大小:60.50 KB

页数:7页

时间:2018-10-28

jni使用技巧点滴(二)--._第1页
jni使用技巧点滴(二)--._第2页
jni使用技巧点滴(二)--._第3页
jni使用技巧点滴(二)--._第4页
jni使用技巧点滴(二)--._第5页
资源描述:

《jni使用技巧点滴(二)--.》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、JNI使用技巧点滴(二)>>.背景上一讲我们介绍了JNI的基本概念和基本用法。现在介绍复杂一点的例子,用JNI调用其他工具生成的DLL,实现某个特定的功能。在这里我们将用VC编写一个DLL,供JAVA调用。VC编写简单DLL这个DLL实现一个简单的字符串传递,然后弹出一个消息框,显示所传递的字符串,同时将所传递的字符串变成小写,返回给JAVA程序。即JAVA12345678910...下一页>>[这篇文章来自..,]程序和VC编写的DLL实现字符串互传。打开VC集成开发环境,选择file->neal"style="MARGIN:0cm0cm0pt;TEXT-INDENT:21.75

2、pt">在VJString.h头文件里面声明两个方法,示列代码如下:………..#include"resource.h"//mainsymbols上一页12345678910...下一页>>[这篇文章来自..,]这是VC生成的代码//---------addbynormalnotebook8/9/2004start----------//voidshoal"style="MARGIN:0cm0cm0pt;TEXT-INDENT:21pt;TEXT-ALIGN:left;mso-layout-grid-align:none"align="left">voidcToJavaStr(cha

3、r*context);//---------addbynormalnotebook8/9/2004end----------//…………..上一页12345678910...下一页>>[这篇文章来自..,]然后在VJString.cpp里面加入这两个方法的实现。//---------addbynormalnotebook8/9/2004start----------//voidshoal"style="MARGIN:0cm0cm0pt;TEXT-INDENT:21pt;TEXT-ALIGN:left;mso-layout-grid-align:none"align="left">{

4、CStringstrText,strCaption;strText.Format(_T("%s"),text);st上一页12345678910...下一页>>[这篇文章来自..,]rCaption.Format(_T("%s"),caption);MessageBox(NULL,text,caption,MB_OK);}voidcToJavaStr(char*context){CStringstrContext;strContext.Format("%s",context);strContext.MakeLower上一页12345678910...下一页>>[这篇文章

5、来自..,]();strcpy(context,(LPCTSTR)strContext);}//---------addbynormalnotebook8/9/2004end----------//到这里为止,DLL部分就基本差不多了。大家也许很奇怪,为什么不用CString做参数,为什么要用最原始的char*。原因是这样的:在写JNI对应的C实现部分时,因为那是在C/C++的编译环境下,根本不认识上一页12345678910...下一页>>[这篇文章来自..,]CString这个MFC类。还应该在VJString.def文件里面做导出函数的说明,示列代码如下:EXPORTS;Ex

6、plicitexportscangohereshoal"style="MARGIN:0cm0cm0pt;TEXT-INDENT:21.75pt">cToJavaStr现在就可以开始编译,链接它。然后它会生成一个VJString.dll这个DLL文件,同时也会生成一个VJString.lib这个文件,供调用这个DLL的程序使用(那个调用程序是静态链接这个dll上一页12345678910...下一页>>[这篇文章来自..,])。把dll和lib文件拷贝到一个文件夹下。我们此时还可以做一个.h文件,供调用者使用。在这里我们将导出两个方法,在这个文件夹下生成一个VJString.h的头文

7、件。如果调用程序是动态链接,可以不要.lib和.h文件。VJString.h头文件的内容如下:_declspec(dllexport)voidshoessage(char*,char上一页12345678910...下一页>>[这篇文章来自..,]*);_declspec(dllexport)voidcToJavaStr(char*);到这里为止,VC的DLL部分就编写完毕。接下来就是

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。