锁定老帖子 主题:Java JNI 编程进阶
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-25
xieke 写道 wangdi 写道 xieke 写道 如果用vc 编译动态库 实现 jni 就失去跨平台特性了,
我是用 mingw +cdt 或者 mingw+netbeans 编译 动态库, 这样可以做到一套c代码,windows linux下都能跑, 但是linux下动态库是so文件,windows下是 dll文件,所以算是半个跨平台把. 那你怎么编译的呢? 不是vc或者其他东东编译dll然后gcc编译so? 安装 mingw 后,即可在windows下用 gcc 直接编译 dll, 也就是说,只需要在 makefile 中把 .so后缀改为 .dll后缀就行了. 受教咯,,回去好好看看。。 |
|
返回顶楼 | |
发表时间:2009-02-02
RyanPoy 写道 jni的效率没有那么高。
jni对内存的开辟有限制。 可以对JVM参数调整,指定 -Xss 指定的本机堆栈 |
|
返回顶楼 | |
发表时间:2009-02-02
pangyi 写道 JNI最大的缺点是多线程方面的应用支持不够。
内存泄露也是个很让人头疼的问题。 内存泄漏主要是靠c++程序员来处理了 其实JNI最大的问题是一旦C++发生空指针异常,JVM是直接崩溃掉 ,这个问题比较严重 |
|
返回顶楼 | |
发表时间:2009-02-04
use swig...it may help a lot for writing wrappers.
|
|
返回顶楼 | |
发表时间:2009-07-06
danlley 写道 最后一个例子应该是针对数组的操作,楼上的楼上可以参考一下哦!
LZ还是比较牛的,以前是有这样的思路:采用java面向对象的方式进行快速开发,之后编译成C++进行运行,可以提升系统响应速度。大概现在明白了java嵌入式开发的应用,觉的这个也是JAVA能风生运气的原因吧。 拜读了~~~ |
|
返回顶楼 | |
发表时间:2009-07-19
不错,记得一个操作注册表的jar就是用到外部dll的
|
|
返回顶楼 | |
发表时间:2009-07-19
RyanPoy 写道 jni的效率没有那么高。
jni对内存的开辟有限制。 看看swt跟swing的对比~ |
|
返回顶楼 | |