快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

实现Java与C语言接口

第一步:声明本地变量

<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>




返回类别: 教程
上一教程: [引用] Eclipse Forms Programming Guide
下一教程: Java入门需把握的30个基本概念

您可以阅读与"实现Java与C语言接口"相关的教程:
· JAVA与C语言接口
· 澄清Java语言接口与继续的本质
· 漫谈Java语言的接口与类型安全
· Java语言的接口与类型安全
· 利用JAVA语言实现支持视频点播的WEB服务器
    微笑服务 优质保证 索取样品