最近需要用NATIVE 根据网上的例子测试无数次都未能实现
原因总是说当用CL命令生成DLL文件时,找不到stdio.h
尝试将C的头文件放入 又有很多找不到文件
索性不所有头文件放入 答案的某个地方出了错
不知道为什么 请大侠说下
java文件
class HelloWorld {
public native void displayHelloWorld();
static {
System.loadLibrary("hello");
}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}
C实现
#include <"jni.h">
#include "HelloWorld.h"
#include
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{printf("hello");
return;}
用javah编译的头文件
/* DO NOT EDIT THIS FILE - it is machine generated /
#include
/ Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
- Class: HelloWorld
- Method: sayHello
- Signature: ()V */ JNIEXPORT void JNICALL Java_HelloWorld_sayHello (JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
#endif
用VC++6.0生成DLL文件
[img]http://www.iteye.com/upload/attachment/68127/fecb432d-328d-3561-ba1e-00f474095b0a.jpg[/img]
请问错在什么地方