1 f64by 2022-05-04 11:24:43 +08:00 需要一个 Linker |
![]() | 2 BrettD 2022-05-04 11:25:37 +08:00 via iPhone ![]() 1. 有些 crate 包装了 C/C++的代码 2. 纯 rust 程序的编译阶段只需要 rust 编译器,但是最后链接的时候是需要系统链接器的 |
![]() | 3 lysS 2022-05-04 11:45:16 +08:00 因为 rust 没自举 |
5 ila 2022-05-04 11:58:01 +08:00 via Android 依赖包 |
8 wsy2220 2022-05-04 12:09:12 +08:00 ![]() 有些依赖是 C/C++库,比如 openssl |
![]() | 9 DeWjjj 2022-05-04 12:43:57 +08:00 Rust 代码文件=>Rust 代码中间文件=>二进制文件。 |
![]() | 10 DeWjjj 2022-05-04 12:45:54 +08:00 windows 可运行的编译好后的二进制文件会运用到很多自身的接口,而这个接口配置是很耗功夫的。 不如让你去下一个 mingw 或者是 c++,因为反正会编译成类似于本机 c++编译的二进制文件。 |
![]() | 11 lysS 2022-05-04 13:14:13 +08:00 好吧,这个我真的是信口开河了 |
![]() | 12 dianso 2022-05-04 13:28:56 +08:00 C++是地基 |
![]() | 13 msg7086 2022-05-04 14:13:34 +08:00 ![]() 重用现成的工具链。 比如上面说的 linker ,其实 linker 并不是专门为 C/C++服务的,但包含在了 C/C++工具链里。 其他语言就没必要重写一个一模一样的组件了。 如果 Rust 也实现了一个 linker ,你也可以用 Rust 写的 linker 去链接 C/C++的项目。 |
![]() | 14 araaaa 2022-05-04 18:03:15 +08:00 via iPhone 要链接系统库 |
![]() | 15 kongkongyzt 2022-05-04 18:15:15 +08:00 应该就是一楼说的,编译需要一个 Linker |
16 Andmeics 2022-05-04 18:38:25 +08:00 LLVM |