我正在尝试使用JNI创建我的第一个Java/C程序.以下是"我的"代码的外观 - 它是从这个网站复制的:
/* HelloWorld.java */
public class HelloWorld {
native void helloFromC();
static {
System.loadLibrary("ctest");
}
static public void main(String argv[]) {
HelloWorld helloWorld = new HelloWorld();
helloWorld.helloFromC();
}
}
Run Code Online (Sandbox Code Playgroud)
C部分:
/* ctest.c */
#include <jni.h>
#include <stdio.h>
JNIEXPORT void JNICALL Java_HelloWorld_helloFromC
(JNIEnv * env, jobject jobj)
{
printf("Hello from C!\n");
}
Run Code Online (Sandbox Code Playgroud)
通过Cygwin,我成功地做到了
javac HelloWorld.java
javah HelloWorld
Run Code Online (Sandbox Code Playgroud)
创建一个这样的头文件:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld …Run Code Online (Sandbox Code Playgroud)