是否可以构建HelloWorld.lib并使用JNI将其加载到Java应用程序中?或者它只与共享库一起工作?是否可以通过JNI将静态库链接到Java?
我在JNI文档中找不到明确的答案,没有提及“静态库”。
是否可以构建HelloWorld.lib并使用JNI将其加载到Java应用程序中?或者它只与共享库一起工作?是否可以通过JNI将静态库链接到Java?
我在JNI文档中找不到明确的答案,没有提及“静态库”。
要在运行时加载库,它必须是dll(windows)。如果你有一个静态库(lib),你必须通过JNI来使用它,你必须创建一个包装器DLL
你将不得不将它链接到JVM,你没有办法做到这一点。这就是为什么JNI是用共享库定义的,而不是静态的。
的Java 8支持静态链接本地库 http://openjdk.java.net/jeps/178
检查http://stackoverflow.com/questions/2349093/static-libraries-and-jni – BackSlash 2013-03-15 13:31:46
@Harlandraka我看到的问题发布前,但链接死。而且,现在它直接是问题答案而不是问题评论。 – quimnuss 2013-03-15 13:42:14