我使用jna(java native access)在cmd环境中编译和运行C源代码。
首先,我创建了两个文件cSource.c和Example.java并将它们放在C盘中。我的jdk版本是7(64位),窗口7 64位
//cSource.c
#include <stdio.h>
void printPointOf(int n) {
//printf("%p\n",&n);
}
和
//Example.java
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
public class Example {
public interface CSource extends Library {
public void printPointOf(int n);
}
static public void main(String argv[]) {
CSource cSrc = (CSource) Native.loadLibrary("csource", CSource.class);
int n = 1;
cSrc.printPointOf(n);
}
}
其次,我打开cmd,然后编译并运行
第0步。cd c:/
第1步。gcc -o libcsourc.dylib -shared cSource.c
第2步。javac -classpath jna.jar Example.java
第3步。java -classpath jna.jar:. Example
三个第一步成功,但第3步我的cmd发现错误:
Could not find or load main class
我如何解决上述错误?我在第3步的命令错了吗?
我在这里查阅了一篇文章:Running C in Java with JNA