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

2022-08-16 18:30:01 +08:00
 proxytoworld

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

#ifndef _WIN64

#else

#else

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

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

776 次点击
所在节点    问与答
3 条回复
ysc3839
2022-08-16 18:34:12 +08:00
冷知识:你可以用 C 的预处理器去处理别的语言的代码,只要没有什么奇奇怪怪的语法。比如大多数 ARM 汇编编译器就是用 C 的预处理器实现条件编译的。
mxT52CRuqR6o5
2022-08-16 18:39:35 +08:00
proxytoworld
2022-08-17 00:34:53 +08:00
@mxT52CRuqR6o5 看起来有点像

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/873277

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX