在java中实现traceroute是一种痛苦,所以我研究了JNI和C代码。有一个叫做busybox的实用程序包含了许多linux工具。它是开源的,并且有traceroute。这是github的代码,我的问题是如何在中实现这个文件的JNI接口。one编译的文件充当命令行工具,您可以运行该工具并传递要跟踪的主机的参数。这是否意味着我只需要在JNI中实现main方法。另外,这个文件没有JNI类型的方法,所以我不能直接与它交互。我是否需要创建另一个使用JNI C代码调用traceroute m
我了解到,在Java中,通过new String("foo")创建字符串将创建一个新副本,而不是潜在地使用字符串池中的现有副本。我假设env->NewString("foo", 3)或env->NewStringUTF("foo")的JNI也是这样,基于文档:"Constructs a new java.lang.StringString bar = "foo";),这是对字符串