小编Til*_*aen的帖子

无法使用Cygwin从Java运行C程序

我正在尝试使用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)

c java windows gcc cygwin

6
推荐指数
1
解决办法
941
查看次数

标签 统计

c ×1

cygwin ×1

gcc ×1

java ×1

windows ×1