Serialization Julia:在运行时生成代码,并将其存储起来,以备将来评估/执行
在Julia中,如何生成任意代码将其序列化为文件,以便在完全不同的程序实例下执行?有可能吗?是否需要存储任何当前上下文以供将来执行?我想您正在寻找PackageCompiler.jl()以下是更详细的答案Serialization Julia:在运行时生成代码,并将其存储起来,以备将来评估/执行,serialization,reflection,julia,metaprogramming,code-generation,Serialization,Reflection,Julia,Metaprogramming,Code Generation,在Julia中,如何生成任意代码将其序列化为文件,以便在完全不同的程序实例下执行?有可能吗?是否需要存储任何当前上下文以供将来执行?我想您正在寻找PackageCompiler.jl()以下是更详细的答案 将代码放入Julia包中。这是任何生产代码都应该做的事情——它非常方便。假设它是MyPackage 创建一个脚本,该脚本使用您计划使用的类型运行包中的所有方法,以便编译器知道要编译这些方法的哪个版本。让我们称之为precompile\u MyPackage.jl。您可以使用定期使用的命令/场
MyPackage
precompile\u MyPackage.jl
。您可以使用定期使用的命令/场景,还可以使用MyPackage
中的测试集
PackageCompiler
using PackageCompiler
create_sysimage(:MyPackage, sysimage_path="sys_MyPackage.so", precompile_execution_file="precompile_MyPackage.jl")
julia --sysimage sys_MyPackage.so