请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 3006|回复: 2

Java怎么调用C++的方法

  [复制链接]
发表于 2011-5-6 08:44:34 | 显示全部楼层 |阅读模式
发表于 2011-5-7 10:50:14 | 显示全部楼层
这个用JNI就可以了吧。但看过《疯狂Java讲义》上有介绍,下面是来自书上的介绍:

加载文件和动态链接库主要对native方法有用,对于一些特殊的功能(如访问操作系统底层硬件设备等),Java程序无法实现,必须借助C语言来完成。此时需要使用C语言为Java方法提供实现。其实现步骤如下:
(1)在Java程序中声明native()方法,类似于abstract方法,只有方法签名,没有实现。编译该Java程序,生成一个class文件。
(2)用javah编译第一步生成的class文件,将产生一个.h文件。
(3)写一个.cpp文件实现native方法,其中需要包含第二步产生的.h文件(.h文件中又包含了JDK带的jni.h文件)。
(4)将第三步的.cpp文件编译成动态链接库文件。
(5)在Java中用System的loadLibrary()方法、或Runtime的loadLibrary()方法加载第四步产生的动态链接库文件,就可以Java程序中调用这个native()方法了。
回复

使用道具 举报

发表于 2011-5-8 18:46:55 | 显示全部楼层
用JNI吧,是java支持本地化的方法,能够用来调用C++的dll
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

视频、代码、电子书下载
请关注"疯狂图书"公众号
QQ交流1群: 545923995  未满
微信群请扫二维码
QQ交流1群:
545923995
(未满)

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2019-1-22 20:39 , Processed in 0.334418 second(s), 7 queries , File On.

快速回复 返回顶部 返回列表