有没有办法在不创建dll的情况下从jni创建本机函数?我的意思是像在python中http://docs.python.org/2/extending/embedding.html 第5.4节。扩展嵌入式Python
我不想使用dll导出的函数。
此致
答案 0 :(得分:1)
您可以在本机应用程序中嵌入VM,从C / C ++调用Java,然后从Java回调回C / C ++。请参阅Invocation API in JNI documentation。这样就不需要动态链接(DLL)。您还可以通过使用本机方法(例如,使用ASM)生成字节码,然后使用RegisterNatives注册所需的任何C / C ++函数指针,在运行时动态生成类。
答案 1 :(得分:0)
大约6或8年前,我看到了一个C ++实现(它出现在codeproject网站上),它创建了一个JVM并且访问了Java类。不是很受欢迎,因为很好的理由,很多人在这里列举,但是可能。
我强烈建议做另一方,正是你不想要的:java调用dll左右,但由于很多原因,但由你决定...
答案 2 :(得分:0)
也许JNA可以做你想要的?