第二十章 rust多平台编译
注意
本系列文章已升级、转移至我的自建站点中,本章原文为:rust多平台编译
目录
- 注意
-
- 一、前言
- 二、跨平台代码编写
- 三、跨平台编译
- 四、静态编译
一、前言
相比于C/C++,rust最方便的一个东西除了包管理之外,便是跨平台编译了。
rust提供了一系列的工具可以帮助我们非常容易的完成跨平台编译的目的。
但经过我的实际使用经验来说,你想要实现在单一的物理机上跨平台编译其它系统的程序,依旧还是困难重重。
除了使用Github提供的Action外,目前最佳的方式实际上依旧是在不同系统的物理机上使用相同的rust代码进行编译。
二、跨平台代码编写
rust核心功能库我们是无需考虑跨平台的,比如String
结构,无论最终在什么系统中编译,我们都可以直接使用。
真正需要编写跨平台代码的地方其实是需要调用特定平台api的时候,比如常见的,我们如果想要调用win api,那么就需要使用Windows这个crate。
这个crate绑定了Windows系统,也只能在Windows系统上使用,你在其它系统上使用这个crate必然会报错。
所以我们第一个