如何在过程宏中确定编译属性?

2024-03-05

我正在开发一个程序宏,它做了很多工作,可以大大减慢编译速度。所做的工作不会影响函数的语义;也就是说,如果给定相同的参数集,则返回值不会根据是否应用宏而改变。

为了使编辑-比较-测试循环更快,我想根据与包的编译方式相关的条件使宏成为无操作。我希望能够特别确定两个属性:

  1. 为什么执行宏:构建/运行、文档、测试
  2. 是否为优化构建而执行宏。

Cargo exposes https://doc.rust-lang.org/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-build-scripts构建脚本的优化级别(通过环境变量OPT_LEVEL and PROFILE)但不公开模式(构建、文档,..)。然而,这些信息似乎都没有暴露给程序宏。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在过程宏中确定编译属性? 的相关文章

随机推荐

  • 以编程方式创建 uicollectionview 时使用自定义 init 方法

    由于 Storyboard 的限制 我正在以编程方式创建 UICollectionView 这一切正常 当我想添加一个UICollectionViewCell我执行以下操作 collectionView registerClass Cell
  • 同步调用协程

    想象一下以下非常常见的情况 您编写了一个又长又复杂的函数 并意识到一些代码应该提取到一个单独的函数中以便重用和 或可读 通常 这个额外的函数调用不会改变程序的语义 但是 现在假设您的函数是一个协程 并且您要提取的代码至少包含一个异步调用 现
  • Python 中的“元组不可调用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在尝试绘制类似以下内容时在 Python 中遇到错误 import matplotlib pyplot as plt plt plot
  • 如何在javascript中选择包含特定字符串的所有id标签?

    我有一个 ASP NET 应用程序 它可以呈现多个问题 并可以选择对给出的答案提供解释
  • AWS Lambda 公有子网 EIP 提供互联网访问

    在抱怨允许附加到 VPC 的 lambda 函数访问互联网的 NAT 网关成本时 我发现了一些关于在公共子网而不是私有子网中部署 lambda 并将 EIP 附加到由 Lambda 创建的 ENI 的建议 我也有一个连接到 VPC 的 IG
  • 如何根据表单输入值从谷歌表单获取到不同文件夹的新响应

    我有一张包含问题的表格 提单号 进口商代码 上传文件 每个用户提交回答时 文件应保存在不同的文件夹中 文件夹名称应为问题 BL编号 的输入值 我们怎样才能使它成为可能 这在很大程度上取决于您的表单的外观 这是一个如何完成的示例 假设您有一个
  • 场景大纲的设置和拆卸 (cucumber-jvm)

    我在代码中使用场景大纲 并希望在场景大纲开始之前执行一些代码 并在场景大纲执行完成后执行一些代码 我知道黄瓜中有 Before 和 After 注释 但这些注释会在每个场景之前和之后执行 因此 如果我有一个场景大纲和 3 行示例数据 那么
  • 如何在 JavaFX 中围绕自定义枢轴旋转对象?

    我想围绕自定义枢轴旋转一个对象 这就是它的重点 所以我有这样的代码 private final EventHandler
  • 根据字段值更改奏鸣曲管理包中的行颜色

    我有奏鸣曲管理包 但无法弄清楚如何根据表单模板中的字段值更改样式 例如字段难度 难度值越高 记录行的颜色应该越红 我怎样才能做到这一点 我花了几个小时来理解奏鸣曲中的树枝模板 但是我读这个模板越多 我就越感到困惑 模板之间存在块调用 并且不
  • 通过元编程将c++简化为objective-c/cocoa桥接?

    在纯 C 世界中 我们可以结合使用基于模板的编译时和运行时技术 在编译时生成不同组件或接口之间的接口或粘合代码 例如 大多数情况下自动编组到使用旧类型的调用 从调用中编组 然而 当必须将 C 应用程序与 Objective C Cocoa
  • Envers:单向 OneToMany 无需额外审核表?

    以下数据库架构 员工 EMP ID PK 姓名 工资 电话 ID PK number str OWNER ID FK Employee aud EMP ID PK REV PK FK REVTYPE 姓名 工资 Phone aud ID P
  • easyphp 和 .htaccess

    我需要 EasyPHP 和 htaccess 的帮助 htaccess 文件不起作用 我认为这是因为我没有使用 EasyPHP 设置某些内容 我的 EasyPHP 版本是5 3 8 1 也许有人知道如何解决这个问题 htaccess 文件
  • 从另一个 cython 包的 cdef 类内联 cdef 方法

    我有一个 cython 类 如下所示 cdef class Cls cdef func1 self pass 如果我在另一个库中使用此类 我是否能够内联 func1 这是一个类方法 或者我应该找到解决方法 例如 通过创建一个将 Cls 指针
  • Flutter中间隔自动获取Api数据

    在我的扑动应用程序中 我试图显示更新数据 我成功地手动从天气 api 获取数据 但我需要不断地每5秒抓取一次数据 所以应该会自动更新 这是我在 Flutter 中的代码 class MyApp extends StatelessWidget
  • R中系统投资利息计算的代码[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 假设我每月在银行存入 1000 P 美元 为期 60 n 个月 银行每月向我支付 1 利率 作为利息 因此我可以计算每笔存款的利息 P 1
  • macOS:是否可以检测何时按下 Mac 键盘上的“fn”键?

    我很好奇是否可以检测何时按下 Mac 键盘上的 fn 键 无论是单独使用还是与另一个键组合使用 有没有办法做到这一点 我愿意使用任何类型的方法 包括必要时未记录的 Apple API 当按下 Fn 键时 所有键盘 NSEvents 的 mo
  • python 列出数字

    我需要在 python 中打印所有数字列表 到目前为止我写了这个 def lists listNum i if i len listNum 1 print listNum else for j in range i len listNum
  • 检测不同浏览器下安装的插件?

    我想知道是否有一种方法可以检测不同浏览器上安装的插件 到目前为止 我发现您可以通过尝试猜测 chrome path to some plugin image gif 是否存在来 检测 Firefox 上的插件 Firefox 的代码如下所示
  • web.config 中的表单身份验证

    我正在使用 MVC3 并将用户身份验证放在 web config 文件中 这是为了绕过 sqlserver 身份验证 web config中的代码如下
  • 如何在过程宏中确定编译属性?

    我正在开发一个程序宏 它做了很多工作 可以大大减慢编译速度 所做的工作不会影响函数的语义 也就是说 如果给定相同的参数集 则返回值不会根据是否应用宏而改变 为了使编辑 比较 测试循环更快 我想根据与包的编译方式相关的条件使宏成为无操作 我希