2

我下载了 JDK 源代码,并尝试在ServerSocketChannelImpl. ServerSocketChannelImpl.java对该方法使用本机代码accept0。此方法的本机代码位于ServerSocketChannelImpl.c中。我需要在那里做一个小改动并重建.so库,以便我可以将它与我的 JVM 一起使用。

当我构建自己的通用 JNI 库时,我使用gcc如下命令行:

gcc -I/usr/lib/jvm/java-6-oracle/include/ -I/usr/lib/jvm/java-6-oracle/include/linux/ -fPIC -o libHello.so -shared org_tsutils_Hello.c

但是对于 JVM C 源代码,我不确定如何进行。有人有想法吗?

4

1 回答 1

-1

如果您正在实现本机方法,您应该在您的代码上运行 javah,它将生成 h 文件,这些文件将填充您现在拥有的 c++ 代码,您将包含头文件的编译产品添加到您的类路径中。

于 2013-03-13T20:58:48.040 回答