gpt4 book ai didi

Julia:检查 c 库是否存在

转载 作者:行者123 更新时间:2023-12-03 14:30:35 24 4
gpt4 key购买 nike

有没有办法检查系统是否可以找到c库?

我试图在库调用上使用 try catch 块来测试它是否存在,但这实际上杀死了程序。

try
ccall( (:func, "libfoo"), Bool, () )
catch
println("This line is never called. Ever")
end

相关的错误是:
ERROR: error compiling anonymous: could not load module libfoo: libfoo: cannot open shared object file: No such file or directory

最佳答案

您可以使用 find_library 在跳跃之前查看:

julia> find_library(["libc"])
"libc"

julia> find_library(["libfoo"])
""

如果未找到,您将在其中获得空字符串。
julia> help(find_library)
INFO: Loading help data...
Base.find_library(names, locations)

Searches for the first library in "names" in the paths in the
"locations" list, "DL_LOAD_PATH", or system library paths (in
that order) which can successfully be dlopen'd. On success, the
return value will be one of the names (potentially prefixed by one
of the paths in locations). This string can be assigned to a
"global const" and used as the library name in future
"ccall"'s. On failure, it returns the empty string.

关于Julia:检查 c 库是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25021372/

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