bli*_*406 7 java macos java-native-interface java-7
我在mac上玩了Java 7 update 9,发现了一件有趣的事情.
我刚刚运行了一个带有a的简单Java程序JFrame,并附加了它lldb.然后我检查了这个Java程序加载的库,我看到:
"/System/Library/Frameworks/JavaVM.framework/JavaVM" 在里面.
所以我有两个问题:
这个JavaVM为Java 7做了什么?我认为mac上的Java 7与Windows和Linux上的相应版本一样是自洽的.通过使用"nm",我可以看到这个JavaVM定义了很多函数,比如JNI_CreateJavaVM,它也在libjvm.dylib中定义.
我应该用Java 7链接到JNI库?还在JavaVM.framework吗?我可以链接到位于下面的库
/Library/Java/JavaVirualMachine/jdk.1.7.0直接.
任何帮助都感激不尽.
对于第一部分,JavaVM 指向 Mac JavaVM (1.6)。仔细查看 Info.plist 文件,看起来 Mac Java 支持 JNI(除其他外),而 Oracle Java 仅支持 CommandLine。您似乎无法在 Mac OS X 上链接到 1.7。也有很多相关问题。
要查找支持 JNI 的 JVM,请执行以下操作:
/usr/libexec/java_home -t JNI
Run Code Online (Sandbox Code Playgroud)
这可能会返回 1.6.0 JDK。您可以使用参数运行它-V来获取可用 JVM 的完整列表。
| 归档时间: |
|
| 查看次数: |
2032 次 |
| 最近记录: |