你是想说用JNI吧?JNDI跟JNI可不是一个东西啊
JNI(JAVA NATIVE INTERFACE,JAVA本地接口) 是JAVA在特殊情况下,(如强调效率或与平台 有关的功能)必须调用本地方法时的接口规则。 下面是一个无限简单的样例: 程序功能:用JAVA调用本地用VC写的一个函数, 该函数输入一个整数,输出整数的平方加3。 1、首先,建立自己的JAVA主程序jnitest.java jnitest.java : import java.lang.*; public class jnitest { public static void main(String args[]) { jnitest Mytest = new jnitest(); int a = 4; int b = Mytest.Cal(a); System.out.println("The result is : "+b); } public native int Cal(int i) ; static { System.loadLibrary("MyCal"); // MyCal 是本地方法的动态链接库的名称 } } 2、然后javac jnitest.java ,生成.CLASS文件。 3、然后javah -jni jnitest , 生成jnitest.h。 编辑jnitest.h ,找到JAVA定义的本地方法的原型: JNIEXPORT jint JNICALL Java_jnitest_Cal (JNIEnv *, jobject, jint) 4、根据函数原形,编写C函数如下: #include "jni.h" #include "jnitest.h" JNIEXPORT jint JNICALL Java_jnitest_Cal (JNIEnv *env, jobject obj, jint a) { return ( a * a + 3) ; } 注意必须INCLUDE 生成的jnitest.h和JAVA自带的jni.h 用VC编译之,生成MyCal.dll。 5、将MyCal.dll拷贝到jnitest所在目录,运行 : java jnitest 结果为:The result is :19 OK !!!