JNI快速入门实践.

luozhangwen 2010-04-24 09:32:30

package com.lzw.code;

class HelloWorld {

// 1,如果在dos下生成编译当前类 则D:\iFreeWorkSpace\JavaUtil\src>javac
// jni/HelloWorld.java

// 2,如果用命令行来生成.h文件则dos需要在工程目录的src目录下
// 即:此类的上一级目录 D:\iFreeWorkSpace\JavaUtil\src>javah jni.HelloWorld
// 则在src 下会生成jni_HelloWorld.h文件

// 3,实现.c文件

// 4,生成静态库
// 可以在VC6.0里面(记得添加jdk的include目录,否则找不到.jni.h文件)
// 在dos下,当dos在目录src下时:
// cl -Id:\VS60\VC98\INCLUDE -I "c:\Program Files\Java\jdk1.5.0\include"
// -I"c:\Program Files\Java\jdk1.5.0\include\win32" -MD -LD jni_HelloWorld.c
// -Fehello2.dll
// 注意如果路径中有空格则要添加“”括起来否则找不到路径

public native void displayHelloWorld();

public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}

static {
// 查看路径,可以知道把静态库放在什么位置了,“.”表示当前工程目录,则可以放在JavaUtil工程目录下面
System.out.println(System.getProperty("java.library.path"));
System.loadLibrary("hello2");
}

}

/*
#include <jni.h>
#include <stdio.h>
#include "jni_HelloWorld.h"
JNIEXPORT void JNICALL
Java_jni_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello World wo kaoddd!\n");
return;
}
*/

...全文
174 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧