HeFengzz
V2EX  ›  Rust

为什么 Rust 需要 C++ 的编译环境?

  •  2
     
  •   HeFengzz · May 4, 2022 · 6490 views
    This topic created in 1532 days ago, the information mentioned may be changed or developed.
    因为操作系统都是 C 写的?
    16 replies    2022-05-04 18:38:25 +08:00
    f64by
        1
    f64by  
       May 4, 2022
    需要一个 Linker
    BrettD
        2
    BrettD  
       May 4, 2022 via iPhone   ❤️ 1
    1. 有些 crate 包装了 C/C++的代码
    2. 纯 rust 程序的编译阶段只需要 rust 编译器,但是最后链接的时候是需要系统链接器的
    lysS
        3
    lysS  
       May 4, 2022
    因为 rust 没自举
    JohnSmith
        4
    JohnSmith  
       May 4, 2022   ❤️ 2
    @lysS #3 张口就来
    ila
        5
    ila  
       May 4, 2022 via Android
    依赖包
    fifcom
        6
    fifcom  
       May 4, 2022   ❤️ 1
    @lysS 2011 年就自举了
    zzhaolei
        7
    zzhaolei  
       May 4, 2022   ❤️ 1
    @lysS 真张口就来
    wsy2220
        8
    wsy2220  
       May 4, 2022   ❤️ 1
    有些依赖是 C/C++库,比如 openssl
    DeWjjj
        9
    DeWjjj  
    PRO
       May 4, 2022
    Rust 代码文件=>Rust 代码中间文件=>二进制文件。
    DeWjjj
        10
    DeWjjj  
    PRO
       May 4, 2022
    windows 可运行的编译好后的二进制文件会运用到很多自身的接口,而这个接口配置是很耗功夫的。
    不如让你去下一个 mingw 或者是 c++,因为反正会编译成类似于本机 c++编译的二进制文件。
    lysS
        11
    lysS  
       May 4, 2022
    好吧,这个我真的是信口开河了
    dianso
        12
    dianso  
       May 4, 2022
    C++是地基
    msg7086
        13
    msg7086  
       May 4, 2022   ❤️ 5
    重用现成的工具链。
    比如上面说的 linker ,其实 linker 并不是专门为 C/C++服务的,但包含在了 C/C++工具链里。
    其他语言就没必要重写一个一模一样的组件了。
    如果 Rust 也实现了一个 linker ,你也可以用 Rust 写的 linker 去链接 C/C++的项目。
    araaaa
        14
    araaaa  
       May 4, 2022 via iPhone
    要链接系统库
    kongkongyzt
        15
    kongkongyzt  
       May 4, 2022
    应该就是一楼说的,编译需要一个 Linker
    Andmeics
        16
    Andmeics  
       May 4, 2022
    LLVM
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3200 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 12:16 · PVG 20:16 · LAX 05:16 · JFK 08:16
    ♥ Do have faith in what you're doing.