V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HeFengzz
V2EX  ›  Rust

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

  •  2
     
  •   HeFengzz · 59 天前 · 3437 次点击
    这是一个创建于 59 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为操作系统都是 C 写的?
    16 条回复    2022-05-04 18:38:25 +08:00
    f64by
        1
    f64by  
       59 天前
    需要一个 Linker
    BrettD
        2
    BrettD  
       59 天前 via iPhone   ❤️ 1
    1. 有些 crate 包装了 C/C++的代码
    2. 纯 rust 程序的编译阶段只需要 rust 编译器,但是最后链接的时候是需要系统链接器的
    lysS
        3
    lysS  
       59 天前
    因为 rust 没自举
    JohnSmith
        4
    JohnSmith  
       59 天前   ❤️ 1
    @lysS #3 张口就来
    ila
        5
    ila  
       59 天前 via Android
    依赖包
    fifcom
        6
    fifcom  
       59 天前   ❤️ 1
    @lysS 2011 年就自举了
    zzhaolei
        7
    zzhaolei  
       59 天前   ❤️ 1
    @lysS 真张口就来
    wsy2220
        8
    wsy2220  
       59 天前   ❤️ 1
    有些依赖是 C/C++库,比如 openssl
    DeWjjj
        9
    DeWjjj  
       59 天前
    Rust 代码文件=>Rust 代码中间文件=>二进制文件。
    DeWjjj
        10
    DeWjjj  
       59 天前
    windows 可运行的编译好后的二进制文件会运用到很多自身的接口,而这个接口配置是很耗功夫的。
    不如让你去下一个 mingw 或者是 c++,因为反正会编译成类似于本机 c++编译的二进制文件。
    lysS
        11
    lysS  
       59 天前
    好吧,这个我真的是信口开河了
    dianso
        12
    dianso  
       59 天前
    C++是地基
    msg7086
        13
    msg7086  
       59 天前   ❤️ 5
    重用现成的工具链。
    比如上面说的 linker ,其实 linker 并不是专门为 C/C++服务的,但包含在了 C/C++工具链里。
    其他语言就没必要重写一个一模一样的组件了。
    如果 Rust 也实现了一个 linker ,你也可以用 Rust 写的 linker 去链接 C/C++的项目。
    araaaa
        14
    araaaa  
       59 天前 via iPhone
    要链接系统库
    kongkongyzt
        15
    kongkongyzt  
       59 天前
    应该就是一楼说的,编译需要一个 Linker
    Andmeics
        16
    Andmeics  
       59 天前
    LLVM
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1063 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:30 · PVG 06:30 · LAX 15:30 · JFK 18:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.