gpt4 book ai didi

Java JNI接口(interface): Native functions relative file paths

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

我在使用 native 函数使用的相对文件路径时遇到问题。当我从 Java 代码调用 native C 函数时,由于空文件指针而出现段错误。唯一有效的方法是将这些路径更改为绝对文件路径,这对我来说不是解决方案。有没有办法为 native 函数设置根目录或使用Java项目根文件夹来浏览目录,或者绝对路径是唯一的方法?

最佳答案

Java does not have a way to change the working directory

这是因为 the Java developers consider changing the working directory to create more problems than it solves 。具体来说:

  • 这将是全局可变状态。全局可变状态使得应用程序的各个部分彼此隔离变得更加困难。
  • 这很容易出现竞争条件(全局可变状态的另一个副作用)。
  • 它不会带来显着的好处。通过更改当前目录可以执行的所有操作都可以使用绝对路径执行。

您的 C 代码需要使用绝对路径。

或者,如果您愿意编写额外的 C 代码,您的 C 代码可以直接调用操作系统的 chdir 函数。这可能很危险,因为 JVM 并不是为这种可能性而设计的。

关于Java JNI接口(interface): Native functions relative file paths,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27698159/

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