我听说过JNI,并试图使用它。我想要做的是从C或C ++ 仅创建一个Java类,即没有像这样的Java代码:
class MyClass {
static { System.loadLibrary("myclass_impl.dll") }
native public int someFunction(String string);
}
例如,Python允许从C创建扩展类,从而您也可以使用ctypes从DLL中包装C函数。
有没有办法为Java做这个?
答案 0 :(得分:3)
几乎肯定不是。 Java类必须用Java字节码表示,C和C ++不能(通常)配备生成。此外,Java内存模型与C和C ++中的模型有很大不同,并且需要自己不寻常的布局约束等。
除非您想在C ++中实现基本上整个Java编译器,否则如果可以这样做,我会感到惊讶。