gpt4 book ai didi

java - C JNI 帮助处理复杂代码

转载 作者:行者123 更新时间:2023-11-30 18:07:08 24 4
gpt4 key购买 nike

开发环境:Ubuntu 10.10(32位)、Eclipse、OpenJDK

我目前有用 C 编写的可执行文件的代码。我需要修改它以将其转换为 .so 库并从 Java 代码访问其函数。

目前,C 代码包含 3 个头文件和 3 个源文件 (.c)。我只需要调用 main 函数并将两个字符串从 java.lang.String 传递给它。所有其余的函数都是从 main() 内部调用的。不幸的是,其他函数之一将结果打印到命令行。如何实现 JNI 来传递两个字符串并返回这个特定结果?

我在网上找到了一些例子,但发现它们太简单了。我也无法找到要使用的 jni.h header 。

我会使用JNIEXPORT int JNICALL Java_ppldtct_main(JNIEnv*,jobject,jstring,jstring)而不是C中的int main(int argc,char** argv)

非常感谢所有帮助。

谢谢

最佳答案

如果我理解正确,您正在尝试对现有代码进行最小的更改。

如果是这种情况,您可以尝试使用管道覆盖文件描述符 1 ( stdout ),并以这种方式获取程序的输出。

关于java - C JNI 帮助处理复杂代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4946951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com