小弟写了个jni调个libxxx.so, 单独写个最简单的小JAVA程序运行很正常 但是写到一个大的JAVA程序里(调用方法一样),则一运行到调jni的地方就卡住了,不再往前走 连try都没try出什么来 该大型程序启动时使用了 -Djava.security.manager 选项,是否是这个原因造成的? 谢了先
转:gansc23
如何编写和调用java的jni程序
项目进行接近一个月,很多功能和实现都日渐清晰,为了保证项目进度,客户端对服务器(j2ee)请求的验证模块的开发势在必行。
由于涉及到安全性和代码通用性,决定用C语言来实现验证模块,同时部署到客户端和服务器,经过半天的研究终于成功进行jni调用,现将步骤附上:
1.新建一个java工程,目录是D:\project\MyProject,以下用
jni其实是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。也许不少人觉 得Java已经足够强大,为什么要需要jni这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数 时间我们是不需要jni的,但是假如你遇到了如下的三种情况之一呢? 你的Java代码,需要得到一个文件的属性。但是你找遍了JDK帮助文档也找不到相关...
一。java中字符串的返回很容易,和其它如int类型没有什么区别,只是最后的时候需要做一下类型转换。 jniEXPORT jstring jniCALL Java_stringTest_displayString (jniEnv * env, jclass obj){ jstring jstr; char str[]="Hello World\n"; jstr=env->NewStringUTF(str); return jstr; } 给出java和c类型对应关系,以及String转换函数 Java类型 本地类型 字节(bit) boolean jboolean 8, ...
各位大侠请教个问题:JSP和C++程序互相通信,用jni,socket,cgi好? 最近遇到一个项目(中小规模的系统),之前是C/S做的,现在想做成WEB的,但是服务器端的业务逻辑处理和数据库访问之前都用C++做好了,不想大动了,但是客户端想变成WEB访问的,主要是企业中另两个系统是B/S的,还想和他两直接集成,比较了jni,SOCKET,CGI但不知选则哪个方法好?请指教。(项目不太大,但重写代码时间来不及,老板也不想多花钱)
本帖最后由 light511 于 2010-03-29 16:08 编辑 各位大侠请教个问题:JSP和C++程序互相通信,好jni,socket,cgi好? 最近遇到一个项目(中小规模的系统),之前是C/S做的,现在想做成WEB的,但是服务器端的业务逻辑处理和数据库访问之前都用C++做好了,不想大动了,但是客户端想变成WEB访问的,主要是企业中另两个系统是B/S的,还想和他两直接集成,比较了jni,SOCKET,CGI但不知选则哪个方法好?请指教。(项目不太大,但重写代...
java程序有一个数据类,里面的内容需要由C处理。 class data1 { String abc; String bcd; class data2; ......... ......... } class data2 { String abcd; String bcde; ...... ...... } 类似以上内容,基本上都是由字符串组成的。 在native代码部分如何获取这个类的内容呢。 刚刚接触jni,请大家都都帮助。 谢谢。