gpt4 book ai didi

java - 我可以从 JNI 调用的 C 程序中调用 C 函数吗?

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

我已经对 JNI 进行了研究,并且我想我了解它是如何工作的,但我一直在尝试从 JNI 调用的另一个 C 函数调用 C 函数。

我有2个.c,HelloWorld和HelloWorld2,以及一个调用HelloWorld的java程序。 HelloWorld 同时调用 HelloWold2 中定义的函数,但这会导致执行时出错。

java: symbol lookup error: /home/hduser/Desktop/final2/libhello.so: undefined symbol: helloworld

最佳答案

假设您有两个文件:

HelloWorld.cHelloWorld2.c

HelloWorld 应该从 HelloWorld2 调用一些东西,你可以:

  • 将两者放入同一个共享库
  • 将两者放入单独的共享库中,并确保 HelloWorld 与 HelloWorld2 链接

通过设置 LD_LIBRARY_PATH 确保共享库可见。

您可以在这里找到一些 JNI 示例:http://jnicookbook.owsiak.org/

关于java - 我可以从 JNI 调用的 C 程序中调用 C 函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40258239/

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