Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 如何建立一个完整的库并链接到它?_Rust_Shared Libraries - Fatal编程技术网

Rust 如何建立一个完整的库并链接到它?

Rust 如何建立一个完整的库并链接到它?,rust,shared-libraries,Rust,Shared Libraries,我有一个将在嵌入式Linux中运行的应用程序,我想在带宽受限的环境中实现无线更新 大多数二进制代码都是库和我自己的代码,它们使用泛型。例如: fn async send<T>() fn async receive<T>() fn async comms_loop<T>() 我的理想情况是将库二进制文件留在设备上,只更新可执行文件,例如: messenger是一个5MB的messenger.rlib文件,保留在设备上 myexecutable是链接到mess

我有一个将在嵌入式Linux中运行的应用程序,我想在带宽受限的环境中实现无线更新

大多数二进制代码都是库和我自己的代码,它们使用泛型。例如:

fn async send<T>()
fn async receive<T>()
fn async comms_loop<T>()
我的理想情况是将库二进制文件留在设备上,只更新可执行文件,例如:

  • messenger
    是一个5MB的
    messenger.rlib
    文件,保留在设备上
  • myexecutable
    是链接到
    messenger.rlib
    的实际应用程序,只占用几KB,并在
    消息更改时更新
我发现这里有两个障碍:

  • 如何构建
    messenger.rlib
    ,使其所有依赖项都包含在其中
  • 然后是否可以动态链接到
    messenger.rlib
    ,以便我只能通过空中传送
    myexecutable
  • 有什么建议吗

    mod message;
    
    use message::Message;
    
    #[tokio::main]
    async fn main() {
        messenger::comms_loop::<Message>().await;
    }