V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
proxytoworld
V2EX  ›  问与答

rust 有没有像 c/c++一样判断当前编译的架构/操作系统的宏,主要是想要交叉编译,一套代码运行在 Linux 和 Windows

  •  
  •   proxytoworld · 2022-08-16 18:30:01 +08:00 · 761 次点击
    这是一个创建于 832 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 c/c++里面可以利用以下宏定义来判断当前以什么架构编译的

    #ifndef _WIN64
    
    #else
    
    #else
    

    rust 有相应的宏来判断吗,同时需要判断当前所运行的操作系统。

    因为 rust 内联汇编只能使用相应架构的寄存器,所以想要类似宏定义来区分编译的代码。

    3 条回复    2022-08-17 00:34:53 +08:00
    ysc3839
        1
    ysc3839  
       2022-08-16 18:34:12 +08:00
    冷知识:你可以用 C 的预处理器去处理别的语言的代码,只要没有什么奇奇怪怪的语法。比如大多数 ARM 汇编编译器就是用 C 的预处理器实现条件编译的。
    proxytoworld
        3
    proxytoworld  
    OP
       2022-08-17 00:34:53 +08:00
    @mxT52CRuqR6o5 看起来有点像
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5352 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:49 · PVG 13:49 · LAX 21:49 · JFK 00:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.