A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓飞飞 中级黑马   /  2012-3-19 17:28  /  2301 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求高手用native写个小程序,我想知道它的使用方法!!

1 个回复

倒序浏览
楼主问的很深啊,我以前只知道 "A native method is a Java method whose implementation is provided by non-java code."这个概念,
楼主要一个例子,我只能从网上找一个例子来,我只能大体看得懂,你研究native的应该很容易看懂,只是c的一个hello world:
首先写好JAVA文件

  package com.hode.hodeframework.modelupdate;

  public class CheckFile

  {

  public native void displayHelloWorld();

  static

  {

  System.loadLibrary("test");

  }

  public static void main(String[] args) {

  new CheckFile().displayHelloWorld();

  }

  }

  然后根据写好的文件编译成CLASS文件

  然后在classes或bin之类的class根目录下执行javah -jni com.hode.hodeframework.modelupdate.CheckFile, 就会在根目录下得到一个com_hode_hodeframework_modelupdate_CheckFile.h的文件

  然后根据头文件的内容编写com_hode_hodeframework_modelupdate_CheckFile.c文件

  #include "CheckFile.h"

  #include

  #include

  JNIEXPORT void JNICALL Java_com_hode_hodeframework_modelupdate_CheckFile_displayHelloWorld(JNIEnv *env, jobject obj)

  {

  printf("Hello world!\n");

  return;

  }

  之后编译生成DLL文件如"test.dll",名称与System.loadLibrary("test")中的名称一致

   vc的编译方法:cl -I%java_home%\include -I%java_home%\include\win32 -LD com_hode_hodeframework_modelupdate_CheckFile.c -Fetest.dll

最后在运行时加参数-Djava.library.path=[dll存放的路径]
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马