实现Java与C语言接口
2008-02-23 09:43:24来源:互联网 阅读 ()
<CCID_NOBR>
<CCID_CODE>例如:class NativeHello{ public native void nativeHelloWorld(); static{ System.loodlibrary("nativeTest");//调用nativeTest.dll库文件 } }</CCID_CODE></CCID_NOBR>
第二步:生成头文件
先用Javac编译NativeHello.java,再用javah生成c的头文件.h文件
第三步:生成根文件
命令如下:javah -stubs NativeHello (生成NativeHello.c文件)
第四步:编写C程序(此处假定文件名为NativeTest.c)
<CCID_NOBR>
<CCID_CODE>#include <stdio.h> #include <NativeHello.h>//指第二步生成的.h文件 #include <stubpreamble.h>//指JDK的include下的文件 void Nativehello_nativeHelloWorld(struct HNativeHello *this){ ......... }/</CCID_CODE></CCID_NOBR>
*函数名Nativehello_nativeHelloWorld不能任意指定,可以从javah生成的头文件中查到,也可用 如下方法命名:类名_本地方法名(struct H类名 *this)*/
第五步:编译DLL文件
将nativeTest.c和NativeHello.c编译成DLL库文件,文件名与System.loodlibrary("nativeTest")中的文件同名
最后讲一下测试的方法,源文件如下:
<CCID_NOBR>
<CCID_CODE>class UseNative{ public static void main(String []args){ NativeHello nh=new NativeHello(); nh.nativeHelloWorld(); } }</CCID_CODE></CCID_NOBR>
上一篇: Java工具包的安装配置和使用
下一篇: Java咖啡馆(10):情人节的Applet
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash