小码哥

谁谓河广,一苇杭之

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  7 随笔 :: 17 文章 :: 74 评论 :: 0 Trackbacks

毕业设计是做一个中文的XML信息检索系统。当时选题的时候真的是不知道天高地厚,选了这么一个难题,但是毕竟已经选了,那就不要畏缩了!查阅了信息检索的相关资料后,遇到了一个很棘手的问题——中文如何分词?这是个大问题,不知道如何入手。于是查查资料看看有没有现成中文分词系统拿来用,这一找就找到了中科院的ICTCLAS。网上已经有很多的已经封装好了的ICTCLAS.dll,由于毕设打算用Java技术打造一个系统原型,那就需要通过JNI技术来调用ICTCLAS.dll。其实这也已经有人做好了,但是,我还是想知道JNI的个什么样的东西,还想知道如何正确的使用这个技术。

已经习惯了从Hello World开始。
我使用的是JDK_1.6.0和Visual studio 2005,使用Visual studio 2005生成可供Java调用的dll需要做以下设置:
在Visual studio 2005的菜单Tools\options\Projects and Solutions\VC++ Directories,添加JDK安装目录下inlcude和include/win32目录,如下图所示

设置图(点击前面+号展开)

编写带有native声明的方法的java类,代码如下

JniTest.java(点击前面+号展开)

然后在命令行输入Javac JniTest.java编译JniTest.java
生成JniTest.class文件后,再使用javah JniTest生成JniTest.h,代码如下

JniTest.h(点击前面+号展开)

在Visual studio 2005里新建项目Win32 project,在弹出的对话框中点击application setting,然后再选上dll和Empty project。 接着在项目中添加JniTest.h和JniTest.cpp,JniTest.cpp代码如下:

JniTest.cpp(点击前面+号展开)

编译生成JniTest.dll,在项目下找到它,并拷贝到JniTest.java所在的目录,最后编写测试程序Test.java,如下:

Test.java(点击前面+号展开)

 最后终于看到了期待的Hello World!

posted on 2008-05-05 14:29 小码哥 阅读(843) 评论(0)  编辑  收藏 所属分类: JNI技术学习笔记

只有注册用户登录后才能发表评论。


网站导航: