ARM Cortex-M3 uint_fast32_t 与 uint32_t

2024-01-06

我正在为 STM32Fx cortex-M3 系列处理器开发一个程序。在 stdint.h 中定义了以下内容:

typedef unsigned int uint_fast32_t;
typedef uint32_t  uint_least32_t;
typedef unsigned long uint32_t;

据我了解。

[u]int_fast[n]_t will give you the fastest data type of at least n bits.
[u]int_least[n]_t will give you the smallest data type of at least n bits.
[u]int[n]_t will give you the data type of exactly n bits.

据我所知, sizeof(unsigned int)

因此,我希望 uint_fast32_t 是一种大小等于或大于 uint32_t 大小的数据类型。

在 cortex-M3 sizeof(unsigned int) == sizeof(unsigned long) == 4 的情况下。因此,上述定义在大小方面是“正确的”。

但为什么它们的定义方式不与底层数据类型的名称和逻辑大小一致,即

typedef unsigned long uint_fast32_t;
typedef unsigned int  uint_least32_t;
typedef uint_fast32_t uint32_t;

有人可以澄清底层类型的选择吗?

鉴于“long”和“int”大小相同,为什么不对所有三个定义使用相同的数据类型呢?

typedef unsigned int uint_fast32_t;
typedef unsigned int uint_least32_t;
typedef unsigned int uint32_t;

情况是这样,只能保证

sizeof(long) >= sizeof(int)

并且不能保证它实际上已经不再存在。在很多系统上,int 通常和 long 一样大。

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

ARM Cortex-M3 uint_fast32_t 与 uint32_t 的相关文章

  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 为什么 int8_t 和用户通过 cin 输入显示奇怪的结果[重复]

    这个问题在这里已经有答案了 一小段代码让我发疯 但希望你能阻止我跳出窗外 看这里 include
  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 具有交替类型的可变参数模板参数包

    我想知道是否可以使用参数包捕获交替参数模式 例如 template
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看

随机推荐

  • SDL 窗口似乎被操作系统错误地标记为“无响应”

    我有一个通过 Derelict 3 访问的 SDL2 窗口 它应该是黑白频闪 不是因为我讨厌癫痫病患者 而且它成功地做到了这一点 然而 在一段时间后 Ubuntu 13 10 将窗口标记为 无响应 将其变灰 并使频闪效果变暗 这非常令人恼火
  • 使用 ui-grid 常量禁用滚动条

    使用最新版本的 ui grid v3 0 0 rc 16 可以单独关闭水平和垂直滚动条 我通过交换得到了这个工作 scope gridOptions enableScrollbars false with scope gridOptions
  • 如何从 Redis 获取值并将其放入 NGiNX 中的变量中?

    这是我的配置 location session set redis key cookie session redis pass 000 00 000 000 6379 echo cookie session echo echo redis
  • string.Format 如何处理空值?

    在下面的代码中 为什么这两个string Format调用的行为方式不一样吗 在第一个中 没有抛出异常 但在第二个中ArgumentNullException被抛出 static void Main string args Exceptio
  • onClick 输入类型=“image”

    我一直在转来转去 试图找到一个明确的答案 基本上 我想将 Google Analytics 事件跟踪添加到表单提交中 我希望为其添加 onClick 但我很难确定是否所有浏览器都支持它 我问设计表单的人 她说他们不使用按钮类型的原因是导致在
  • Backtrader 错误:“DataFrame”对象没有属性“setenvironment”

    我是反向交易者的新手 我有一个大问题 我想开始我的策略 只是一个简单的 GoldenCross 策略 这个 GoldenCross py 脚本如下所示 import math import backtrader as bt class Go
  • dijit 过滤选择最小长度

    我似乎找不到一种方法来要求过滤选择输入具有一定的长度 我尝试过这样的 new dijit form FilteringSelect name bla store jsonRestStore searchAttr name pattern 3
  • 有人在 vuetify 和 Laravel 7 上取得过成功吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在尝试在使用 laravel 7 构建的多个项目中安装 vuetify 我成功地让它工作了一次 但每一次连续的尝试都会破坏 vu
  • 使用 msal.js 对 Angular Spa 进行身份验证

    我的角度应用程序有 1000 条独特的路线 用户应该能够从任何这些页面单击登录按钮 已经基于此示例实现了 msal js https github com Gimly simpleAngularAzureB2C blob master sr
  • 如何避免 Google Ads 拖慢我的网站(尤其是移动网站)速度?

    我知道很多网站管理员认为页面速度毫无意义 然而 我相信这个因素是谷歌决定对任何网站进行排名的前三名因素之一 我厌倦了看到谷歌自己的服务如何减慢我的网页速度 我编写干净的代码 当我启动任何网站 应用程序时 它在 GTMetrix 和 Ping
  • 如何在 docker 镜像中包含修改后的配置文件?

    我是 Docker 新手 一位 Devop 同事在 github 存储库中创建了一个 WSO2 docker 镜像 他使用此类图像来创建暂存和生产实例 The docker compose yml is openssl req newkey
  • 使用 Twisted 和 inlineCallbacks 进行测试

    这是我的函数定义 defer inlineCallbacks def get order order id do some db operations defer returnValue order details 我想做的是使用 Twis
  • 当导入 Angular 13 项目时,Angular 13 包/库抛出错误“moment is not a function”

    我正在升级私有角度库 包 my lib 以便我可以迁移所有其他项目 但是当导入到项目中时 其中一项服务使用 moment 并抛出错误 错误类型错误 时刻不是函数 该库在开发模式下工作 构建和发布都正常 即使导入到项目中 所有组件和资源都加载
  • 我需要做什么才能解决“使用移动值”错误?

    我正在尝试计算 Rust 中的第 10 001 个素数 Project Euler 7 作为其中的一部分 我检查整数是否是素数的方法引用了向量 fn main let mut count u32 1 let mut num u64 1 le
  • Git pull - 致命:读取错误:参数无效

    我尝试使用 msysgit 1 8 1 进行拉取 也尝试使用 1 7 10 和 11 结果相同 但总是收到一个我不知道如何调试 解决的错误 E java myproject gt git pull Enter passphrase for
  • url 中的分号作为查询字符串的分隔符

    我一直听说 W3C 建议使用 而不是 作为查询字符串分隔符 我们建议 HTTP 服务器实现者 特别是 CGI 实现者支持使用 代替 来保存作者 以这种方式转义 字符的麻烦 有人可以解释一下为什么 吗 推荐代替 另外 我尝试使用 代替 例子
  • 如何修复 Python 中的双重编码和损坏的字符串?

    我的流程正在处理已被破坏的数据 我可以看出它已经用 UTF 8 进行了双重编码 但这只是故事的一半 双倍的 decoding仅适用于单字节 拉丁语 且完好无损地通过 UTF 8 的代码点 双字节 或更大 的代码点不能使用以下命令进行双重解码
  • 如何在 Mavericks 中打开 NSSheet?

    在 Mavericks 中 打开和关闭 NSSheets 的方法已更改 为了让事情变得更加艰难 发行说明 https developer apple com library mac releasenotes AppKit RN AppKit
  • Howe 捕获 UIView 顶部 UIView

    i have UIView显示图表 现在我需要将其捕获到UIImage我用谷歌搜索并得到了下面的代码 但是如果我在我的代码中使用它 它就不起作用 即使我使用断点编译器也无法达到这个目的 我在我的代码中使用它UIView 我哪里出错了 UII
  • ARM Cortex-M3 uint_fast32_t 与 uint32_t

    我正在为 STM32Fx cortex M3 系列处理器开发一个程序 在 stdint h 中定义了以下内容 typedef unsigned int uint fast32 t typedef uint32 t uint least32