Compilation PackageCompile Julia系统映像与本地代码

Compilation PackageCompile Julia系统映像与本地代码,compilation,julia,packagecompiler.jl,Compilation,Julia,Packagecompiler.jl,了解JuliaPackageCompiler 我正在构建这样的系统映像 python3 -m julia.sysimage --script="pc.jl" foo.dylib 我的预编译脚本(pc.jl)包含以下内容 module Foo bah() = "bah" end 如果我在REPL中包含pc.jl,它将按预期工作 julia> include("pc.jl") Main.Foo julia> Main.Foo.bah() "bah" 但是如果我从我的系统映像开始Ju

了解Julia
PackageCompiler

我正在构建这样的系统映像

python3 -m julia.sysimage --script="pc.jl" foo.dylib
我的预编译脚本(pc.jl)包含以下内容

module Foo
bah() = "bah"
end
如果我在REPL中包含pc.jl,它将按预期工作

julia> include("pc.jl")
Main.Foo
julia> Main.Foo.bah()
"bah"
但是如果我从我的系统映像开始Julia,Foo就找不到了

$ julia --sysimage=foo.dylib               _
...
julia> Main.Foo
ERROR: UndefVarError: Foo not defined
julia> Foo
ERROR: UndefVarError: Foo not defined

PackageCompiler是否处理未作为包发布的代码?可以使用它预编译本地个人代码吗?

我认为PackageCompiler将包含在匿名模块中的所有代码都放在匿名模块中,以明确防止从主模块访问它:


啊,这是有道理的。非常感谢。所以,我猜答案是PackageCompiler旨在编译包中的代码;-)