> Erlang中文手册 > load_binary/3 加载一个模块的目标代码

code:load_binary/3

加载一个模块的目标代码

用法:

load_binary(Module, Filename, Binary) -> {module, Module} | {error, What}

这个函数可以用来加载远程 Erlang 节点的目标 beam 代码。参数 Binary 必须是模块 Module 的目标 beam 代码。Filename 只能用远程代码服务器上模块 Module 的文件路径。相应地,Filename 是不会被代码服务器打开或读取。

如果加载成功,则返回 {module, Module};如果代码是放在一个 sticky 的目录里,则返回 {error, sticky_directory} 的错误;如果参数不合法,则返回 {error, badarg};如果加载失败,则会返回一个元组形式的错误。更多错误值介绍可查看 erlang:load_module/2 的相关描述。

{ok, Module} = application:get_application(),
case code:get_object_code(Module) of
    {_Module, Binary, Filename} ->
        code:load_binary(Module, Filename, Binary);
    _ ->
        ok
end.