如何在仅支持常量表达式的函数中使用变量作为参数

2023-11-30

我正在使用这个功能:

__delay_cycles(var); 

我收到以下错误:

论证到_delay_cycles必须是常量表达式

很公平!但我怎样才能绕过这个呢?我每次都必须以不同的值延迟我的程序。我从 RS232 接收数据并将其存储在一个int多变的。我必须使用这个函数,但我无法修改它的结构。我正在使用AtMega16。


我立即想到的一个建议是打电话__delay_cycles()使用常量参数,但在循环中执行,并改变循环迭代的次数。

该循环会增加一些开销,因此如果您需要精度,则必须从(常量)参数中减去一次循环迭代的(常量)成本__delay_cycles().

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

如何在仅支持常量表达式的函数中使用变量作为参数 的相关文章

  • 为什么我的 C#/pinvoke DeviceIoControl 调用返回 0 字节读取的垃圾数据?

    我有一个运行良好的非托管 C Windows 控制台应用程序 我想要它在 C 中 我已经为必要的 Kernel32 dll 符号完成了 DllImport 语句 StructLayout LayoutKind Sequential inte
  • 在哪里使用 EF6 订阅 ObjectMaterialized?

    我正在尝试将我的上下文订阅到以下 OnjectMaterialized 事件this https stackoverflow com a 3756842 2835713 像这样 IObjectContextAdapter this Obje
  • 数据结构的优化存储以实现快速查找和持久化

    Scenario 我有以下方法 public void AddItemSecurity int itemId int userIds public int GetValidItemIds int userId 最初我正在考虑表单上的存储 i
  • 在列表中查找匹配项的最简洁方法

    在列表中查找内容的最佳方式是什么 我知道 LINQ 有一些不错的技巧 但我们也可以获取有关 C 2 0 的建议 让我们对这个常见的代码模式进行最佳重构 目前我使用这样的代码 mObjList is a List
  • 沿着长数据序列在固定大小的移动窗口中查找中值

    给定一个数据序列 可能有重复项 一个固定大小的移动 窗口 从数据开始处每次迭代时移动窗口 序列 使得 1 从窗口中删除最旧的数据元素并添加新数据 元素被推入窗口 2 求每次移动时窗口内数据的中位数 以下帖子没有帮助 有效地找到随机序列的中值
  • C/C++ 程序是在 CPU 上运行还是在内核上运行?

    我已经编程很多年了 但有一件事我一直不明白 有两种类型的编程语言 编译型语言和解释型语言 编译型语言首先需要编译成解释型语言 然后才能执行 例如 C C 需要先编译为机器语言 然后才能执行 我的问题来了 谁真正运行已编译的 C C Wind
  • 如何在Qt中更快地读取数据?

    Qt读取数据库比C 慢吗 我想我错过了一些东西 为了比较阅读速度 我在 Qt 中编写了以下内容 QElapsedTimer t t start int count 0 QString cs Driver SQL Server Server
  • ASP.NET Core 中 AsNoTracking 的模拟或更好的解决方法

    您如何模拟 AsNoTracking 或者是否有更好的解决方法来解决此问题 Example public class MyContext MyContextBase Constructor public MyContext DbContex
  • 我可以将特定警告视为错误吗?

    以下是我有时在学生代码中看到的模式的简化版本 bool foobar int a int b if a lt b return true 当然 真正的代码要复杂得多 Visual Studio 报告警告 C4715 并非所有控制路径都会返回
  • 对无符号 8 位整数进行左移操作 [重复]

    这个问题在这里已经有答案了 我试图理解 C C 中的移位运算符 但它们给我带来了困难 我有一个无符号 8 位整数 初始化为一个值 例如 1 uint8 t x 1 根据我的理解 它在内存中的表示方式如下 0 0 0 0 0 0 0 1 现在
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • 是否可以获取指向装箱非托管值类型的指针?

    是否可以获取指向装箱非托管值类型的指针 而无需编写对每个支持的类型进行强制转换的大型 switch 语句 就像是 object val Contains a boxed unmanaged value such as int long by
  • Math.Sin、Math.Cos 和 Math.Tan 精度以及正确显示它们的方法

    我正在用 C 编写一个计算器 textBoxResult是一个文本框 我在其中显示数字 recount是以度为单位获取角度并以弧度为单位返回的函数 我的角度是从texBoxInput public double recount int nu
  • C++ 虚拟关键字与重写函数

    我正在学习c 并且正在学习virtual关键字 我在互联网上搜索试图理解它但无济于事 我进入编辑器并做了以下实验 期望它打印两次基本消息 因为我的印象是需要 virtual 关键字来覆盖函数 然而 它打印出了两条不同的消息 有人可以向我解释
  • 不可能的事情发生了!这是什么意思?

    我遇到了一个有趣的运行时错误 我认为这是某种内存泄漏 我写了以下程序 C Code include
  • 您的 C++ 程序中是否仍然存在内存分配失败问题 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在为公司写一些指导方针 我需要回答一些棘手的问题 这一项是相当困难的 解决方案可以是 根本不跟踪 确保使用 new 分配对象 这会在分配失败
  • 使texture2D在运行时/脚本Unity3D中可读[重复]

    这个问题在这里已经有答案了 我有一个插件 可以让我访问 Android 手机图库中的图片 这给了我一个Texture2D类型的纹理 然后我想使用 GetPixels 函数对其进行编辑 但默认情况下它未设置为可读 如何使纹理可读 以便我可以在
  • C# 中的快速字符串解析

    在 C 中解析字符串最快的方法是什么 目前我只是使用字符串索引 string index 并且代码运行合理 但我忍不住认为索引访问器所做的连续范围检查必须添加一些东西 所以 我想知道我应该考虑哪些技术来增强它 这些是我最初的想法 问题 使用
  • 频繁插入已排序的集合

    我已经对集合 列表 进行了排序 并且我需要始终保持其排序 我目前在我的集合上使用 List BinarySearch 然后在正确的位置插入元素 我也尝试过在每次插入后对列表进行排序 但性能不可接受 有没有一种解决方案可以提供更好的性能 也许
  • ASP.NET API:尚未为此 DbContext 配置数据库提供程序

    我正在尝试从我的 Net Core API 项目连接到 MySql 数据库 这是我的上下文类 public class MyContext DbContext public MyContext public MyContext DbCont

随机推荐

  • 类型 AS3 JSON 编码器和解码器?

    我需要以类型化的方式编码和解码 AS3 对象 http code google com p as3corelib 仅支持无类型编码和解码 http code google com p ason 支持某种类型的对象 但不是很健壮 例如它在日期
  • 如何将 GCS 中的多个分区 parquet 文件加载到 pandas 数据帧中?

    我正在尝试从谷歌云存储中读取存储为分区的多个镶木地板文件 并将它们读取为 1 个单个 pandas 数据帧 作为示例 以下是文件夹结构gs path to storage folder 并且在每个里面event date 有多个 parqu
  • M2Crypto 的 AES 问题

    有人可以指出这段代码中的错误吗 author gaurav date 15 Feb 2011 5 10 59 PM import M2Crypto from base64 import b64encode b64decode ENC 1 D
  • 在运行单元测试之前复制到 teamcity 的 out 目录

    所以我的情况是我终于完成了TeamCity的CI配置 我做到了在一些友好的帮助下运行我的单元测试 然而 许多单元测试都会失败 因为一旦构建并准备好运行 就需要在unittests dll旁边有一个配置文件 我写了一个简单的Command L
  • Dataproc YARN 容器日志位置

    我知道这个线程的存在 各个 dataproc Spark 日志在哪里 However if i ssh connect to a worker node vm and navigate to the tmp folder this is a
  • 如何在Golang中访问嵌套的Json键值

    团队 编程新手 解组 Json 后 我有可用的数据 如下所示 其中包含嵌套的 Key 值 我能够访问的平面键值 如何访问嵌套键值 这是解组后的字节切片数据 如下所示 gt tables map name basic snatpool mem
  • Bootstrap .popover('show')、.popover('hide') 不起作用。将其绑定到点击作品

    我有一个已绑定到弹出框的按钮 当有人单击弹出窗口中的表情符号之一时 我想隐藏弹出窗口 然而 smiley popover hide 不起作用 不幸的是 我无法用准系统代码重现这一点 它只发生在实时站点上 即https coinchat or
  • 作为不同用户的 RPM %post

    我需要在 RPM 的 post 部分中以不同用户身份运行命令 目前我正在通过 python 使用一些 hack 但这不是最好的方法 它确实感觉有点脏 post p usr bin python import os pwd subproces
  • 将一个向量中的每个元素与第二个向量中的每个元素相加

    我想将一个向量中的每个元素与另一个向量中的每个元素相加 如下所示 but避免 for 循环 有没有简单的方法呢 vadd lt function vrow vcol vmatrix lt matrix nrow length vrow nc
  • 静态内容不能引用非静态方法

    我无法编译以下代码 public class Test public static void main String args int a calcArea 7 12 System out println a int calcArea in
  • 如何使用斯坦福解析器将文本拆分为句子?

    如何使用将文本或段落拆分为句子斯坦福解析器 有没有什么方法可以提取句子 比如getSentencesFromString 因为它是规定的Ruby 您可以检查 DocumentPreprocessor 类 下面是一个简短的片段 我认为可能还有
  • 遇到 0 时按组重置的 Cumsum

    下面是我的数据框 我想得到 是 列 我似乎无法理解cumsum当它根据 id 的 值 字段达到 0 时重置 还有其他类似的问题 但解决方案不适用于我的实际数据集 test lt data frame id c 1 1 1 1 2 2 2 2
  • 如何在具有2000万行数据集的MySQL中删除重复项?

    我有一个很大的 MySQL 数据库 我需要快速删除重复的项目 它看起来是这样的 id text1 text2 1 23 43 2 23 44 3 23 44 删除后 表的剩余部分应为 id text1 text2 1 23 43 3 23
  • 将数组存储在共享首选项中

    我有一个Array具有整数值 它会随着时间的推移而增长 它大约有最多 50 个值 我想将数组持久存储 因此我考虑将其存储在SharedPreferences 我知道其中不能存储复杂类型 但我也听说要序列化Array然后将其存储在Shared
  • 如何在使用 Electron-builder 构建 exe 后运行“sqlite3”

    我在以下人员的帮助下构建了我的电子应用程序https medium com jspoint packaging and distributing electron applications using electron builder 31
  • DOMPDF 中的自定义宽度和高度

    无论如何 我可以设置生成的 PDF 的宽度和高度吗 我想自定义PDF的宽度和高度 通常它会采用短铜版纸的尺寸 但我如何定制它 举例来说 我希望它的大小为 200 x 500 像素 任何想法将不胜感激 干杯 您可以通过在调用 DOMPDF s
  • Magento - 列出产品类别

    在 Magento 的每个产品详细信息页面上 我想列出属于哪些类别 我将如何实现这一目标 尝试一下 currentCatIds product gt getCategoryIds and also categoryCollection Ma
  • 在 primefaces 中绑定文件下载参数

    我想在 primefaces 中下载一个名称可能不同的文件 这是控制器的代码 ManagedBean name fileDownloadController eager true ViewScoped public class FileDo
  • 如何在不刷新整个页面的情况下重新加载DIV内容

    我只想用我得到的内容替换 DIV 内容 当我使用ajax向服务器发出get请求后 ajax type GET url http 127 0 0 1 8000 result age ageData occasion occasionData
  • 如何在仅支持常量表达式的函数中使用变量作为参数

    我正在使用这个功能 delay cycles var 我收到以下错误 论证到 delay cycles必须是常量表达式 很公平 但我怎样才能绕过这个呢 我每次都必须以不同的值延迟我的程序 我从 RS232 接收数据并将其存储在一个int多变