V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
proxytoworld
V2EX  ›  问与答

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

  •  
  •   proxytoworld · Aug 16, 2022 · 1135 views
    This topic created in 1360 days ago, the information mentioned may be changed or developed.

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

    #ifndef _WIN64
    
    #else
    
    #else
    

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

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

    3 replies    2022-08-17 00:34:53 +08:00
    ysc3839
        1
    ysc3839  
       Aug 16, 2022
    冷知识:你可以用 C 的预处理器去处理别的语言的代码,只要没有什么奇奇怪怪的语法。比如大多数 ARM 汇编编译器就是用 C 的预处理器实现条件编译的。
    proxytoworld
        3
    proxytoworld  
    OP
       Aug 17, 2022
    @mxT52CRuqR6o5 看起来有点像
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1315 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 23:50 · PVG 07:50 · LAX 16:50 · JFK 19:50
    ♥ Do have faith in what you're doing.