我下载了 JDK 源代码,并试图在 ServerSocketChannelImpl
中进行修改。 ServerSocketChannelImpl.java为 accept0
方法使用 native 代码。此方法的 native 代码在 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 源代码,我不确定如何进行。有人有想法吗?
最佳答案
如果您要实现 native 方法,您应该在您的代码上运行 javah,它将生成 h 文件,这些文件将填充您现在拥有的 c++ 代码,您将编译产品(包括 header )添加到您的类路径中。
关于java - 如何在 Java 中为 ServerSocketChannelImpl 重建 JDK JNI C 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863306/