java动态链接库

java代码:
public class DllDemo {
	public native void displayHelloWorld() ;
	static{
		System.loadLibrary("liufei hello word !") ;
	}
	public static void main(String[] args) {
		new DllDemo().displayHelloWorld() ;
	}

}

编译成C头文件:
javac DllDemo.java
javah DllDemo

生成的C头文件:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class DllDemo */

#ifndef _Included_DllDemo
#define _Included_DllDemo
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     DllDemo
 * Method:    displayHelloWorld
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_DllDemo_displayHelloWorld
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

#include <jni.h>
    #include "HelloWorld.h"
    #include <stdio.h>
    JNIEXPORT void JNICALL 
    //方法名规则:Java_全类名_方法名(JNIEnv *env, jobject obj)
    Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) 
    {
       printf("Hello world!\n");
       return;
     }
调用gcc生成HelloWorld.dll文件

你可能感兴趣的:(java,C++,c,gcc,C#)