返回介绍

10.1 注解

发布于 2024-10-13 11:25:32 字数 1373 浏览 0 评论 0 收藏 0

注解(attribute)是元数据标记、编译器指令。

  • #[name] : 作用于下一项。
  • #![name] : 用于外部项(enclosing, crate)。
  • #![feature] : 启用实验性(unstable)功能。
  • #![allow] : 忽略警告。
  • #[cfg] : 条件编译(test, debug, arch, os)。
  • #[inline] : 函数内联。
  • #[test] : 单元测试。
  • #[bench] : 基准测试。

抑制警告

避免过多无害的编译提示,造成阅读障碍。

#![allow(dead_code)]
#![allow(unused_variables)]
#![allow(unused_imports)]

函数内联

向编译器提供函数内联建议。

  • #[inline]
  • #[inline(always)]
  • #[inline(never)]
#[inline(always)]
fn add(x: i32, y: i32) -> i32 {
  x + y
}

条件编译

按平台和架构等条件选择编译。

#[cfg(debug_assertions)]
fn test() {
  println!("debug");
}

#[cfg(not(debug_assertions))]
fn test() {
  println!("release");
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文