从 JNI 使用 jvm.h
Using jvm.h from JNI
目前我正在我的 JNI 应用程序中使用 JAVA_HOME/include 中的库。这包括
- classfile_constants.h
- jawt.h
- jdwpTransport.h
- jni.h
- jvmti.h
- jvmticmlr.h
- windows/jawt_md.h
- windows/jni_md.h
- windows/bridge/AccessBridgeCallbacks.h
- windows/bridge/AccessBridgeCalls.c
- windows/bridge/AccessBridgeCalls.h
- windows/bridge/AccessBridgePackages.h
虽然这些为我提供了很多控制权,但我真的希望能够调用热点源代码中定义的实际 C++ 函数。我查看了JDK 8 的源代码,发现src/share/javavm/export
包含更多的头文件,例如jvm.h 具有更强大的功能。
我尝试将这些包含在我的项目中,但出现 unresolved external symbol
错误,可能是因为这些头文件不包含实际的函数定义。
如何在我的 JNI 代码库中使用这些函数?有可能吗?
提前致谢!
目前我正在我的 JNI 应用程序中使用 JAVA_HOME/include 中的库。这包括
- classfile_constants.h
- jawt.h
- jdwpTransport.h
- jni.h
- jvmti.h
- jvmticmlr.h
- windows/jawt_md.h
- windows/jni_md.h
- windows/bridge/AccessBridgeCallbacks.h
- windows/bridge/AccessBridgeCalls.c
- windows/bridge/AccessBridgeCalls.h
- windows/bridge/AccessBridgePackages.h
虽然这些为我提供了很多控制权,但我真的希望能够调用热点源代码中定义的实际 C++ 函数。我查看了JDK 8 的源代码,发现src/share/javavm/export
包含更多的头文件,例如jvm.h 具有更强大的功能。
我尝试将这些包含在我的项目中,但出现 unresolved external symbol
错误,可能是因为这些头文件不包含实际的函数定义。
如何在我的 JNI 代码库中使用这些函数?有可能吗?
提前致谢!