C 结构中的填充量是编译器相关的还是明确定义的?

2024-03-15

是C中的填充量struct在标准或编译器和/或目标体系结构中明确定义。我在标准中找不到答案。


它是实现定义的。来自 C99 标准第 6.7.2.1 节:

...结构体或联合对象的每个非位域成员都按照实现定义的方式对齐 适合其类型的方式...

……可能还有无名的 在结构对象内填充,但不在其开头......

编译器通常会选择适合底层硬件的安排(对齐内容以便于从内存中读取等)。

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

C 结构中的填充量是编译器相关的还是明确定义的? 的相关文章

  • 为什么使用abs()或fabs()而不是条件否定?

    在 C C 中 为什么要使用abs or fabs 不使用以下代码即可查找变量的绝对值 int absoluteValue value lt 0 value value 这与较低级别的指令较少有关吗 您提出的 有条件的abs 并不等于std
  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE
  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • std::bind 重载解析

    下面的代码工作正常 include
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • 通过等待任务或访问其 Exception 属性都没有观察到任务的异常

    这些是我的任务 我应该如何修改它们以防止出现此错误 我检查了其他类似的线程 但我正在使用等待并继续 那么这个错误是怎么发生的呢 通过等待任务或访问其 Exception 属性都没有观察到任务的异常 结果 未观察到的异常被终结器线程重新抛出
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将

随机推荐

  • UTF-8 字符显示为 ISO-8859-1

    我在从数据库插入 读取 utf8 内容时遇到问题 我所做的所有验证似乎都表明我的数据库中的内容应该是 utf8 编码的事实 但它似乎是拉丁编码的 数据最初是从 CLI 的 PHP 脚本导入的 配置 Zend Framework Versio
  • 詹金斯管道 sh 添加新行

    我的管道 sh 块 sh set e terraform terraform plan var aws access key aws access key var aws secret key aws secret key var aws
  • jQuery.on('click') 在 jQuery.click 之前?

    我有一个外部脚本 我无法修改它 该脚本加载一个 a 按钮 并添加一个 jQuery 单击它 并以 return false 结束 我需要在这次点击时触发我自己的代码 当我加载页面时 a 不存在 所以我需要使用 on click 绑定 活 但
  • PHP 回显性能

    这些命令中哪一个执行效果最佳 最糟糕 为什么 echo A a B b C c echo A a B b C c echo A a B b C c echo A a B b C c 将是最快的 因为这里字符串的所有部分都直接复制到输出流 而
  • 如何从 iOS 11 beta 的 iOS 应用程序打开定位服务?

    if UIDevice currentDevice systemVersion floatValue gt 10 0 NSURL URL NSURL URLWithString App prefs root Privacy path LOC
  • QLineEdit 与 QValidator:无论输入有效性如何,都会对编辑完成做出反应?

    QLineEdit有信号QLineEdit editingFinished当用户完成编辑 例如按 Enter 键 时发出 但是 如果设置了验证器或输入掩码 则editingFinished仅当输入有效时才会发出 但是 无论输入的有效性如何
  • Xcode 14 beta 错误:存储的属性无法用“@available”标记为可能不可用

    当我在 Xcode 14 beta 上运行我的应用程序时 出现此错误 但我不知道如何修复它 存储的属性不能用 available 标记为可能不可用 当我运行 Xcode 13 时 它不会弹出 并且应用程序运行顺利 我在 xcworkspac
  • 确定传递依赖的来源

    我有一个项目 其中使用 sl4j 和 log4j 我最近向我的项目添加了一些新的依赖项 我添加的这些新依赖项之一包括对 logback classic 的传递依赖项 其中包括 sj4j 的另一个绑定 我想摆脱 logback 但我不知道我的
  • 如何在单击“阅读更多”按钮或链接时展开文本?

    我有一个 js 函数 可以在两个文本范围之间切换 一种是类折叠的较小文本 另一种是类展开的全文 这是我的js document ready function expanded hide expanded collapsed click fu
  • 高分表

    我希望在我的 Android 应用程序中添加一个 本地 而不是在线 高分表 并且我想了解解决该问题的最佳方法 我有一个用户列表 现在被保存到文件中并作为 User 对象数组读回 高分需要引用此数据以使用用户的姓名和照片等填充表 对于显示器
  • Google Chart Gannt 避免工具提示

    通过研究 我发现 Gannt Google Chart 上显示的工具提示不可自定义 因此我决定覆盖它 捕获由我的 gannt 矩形触发的悬停事件 如下所示 google visualization events addListener ch
  • 如何触发 IModel.BasicAcks?

    我第一次使用 RabbitMQ 的 NET API 我想出了一个对我来说似乎合理的用例 我想创建发布消息并在消息被确认后执行某些操作的发布者 IModel BasicAcks 事件似乎是了解这一点的好方法 所以 我给出版商写了一封信 pri
  • 识别并计算咒语(每组内的独特事件)

    我正在寻找一种有效的方法来识别时间序列中的咒语 运行 在下图中 前三列是我所拥有的 第四列 spell这就是我想要计算的 我尝试过使用dplyr s lead and lag 但这变得太复杂了 我试过了rle但一无所获 ReprEx df
  • 如何在android中检查3g是否活跃

    我正在尝试检查我的手机中的 3G 是否处于活动状态 之后我必须触发一个 Intent 所以请有人帮助我 提前致谢 我最近编写的应用程序的另一个片段 TelephonyManager telManager telManager Telepho
  • 如何在命令类之外获取命令参数?

    我向doctrine fixtures load 命令添加了自定义选项 现在我想知道如何在自定义装置类中获取此命令选项 class LoadUserData implements FixtureInterface ContainerAwar
  • Matlab 中多个字符串的日期

    我必须从两个字符串生成一个日期 字符串或数字 第一个是日期 第二个是时间 我一定在代码中犯了一些错误 因为结果与源数据的串联不同 DIR4 h datestr strcat DIR1 h DIR2 h dd mm yyyy HH MM SS
  • Django 403 CSRF 令牌丢失或不正确

    我遇到过这个问题 但不幸的是仍然不知道如何解决它 表单呈现完美 我输入信息并收到 CSRF 错误 给出的理由是token missing or incorrect View def eventSell request id c c upda
  • 循环 this.props.children 如何测试它们的类型?

    在自定义 React 组件中的以下代码片段中 React Children map this props children child gt if predicate child do stuff else do other stuff p
  • 简单的网络服务器或网络测试框架

    需要测试一个复杂的 Web 应用程序 该应用程序与基于远程第 3 方 CGI 的 Web 服务进行交互 我计划在虚拟网络服务器中实现一些第三方服务 以便我可以完全控制测试用例 寻找一个简单的 python http web 服务器或框架来模
  • C 结构中的填充量是编译器相关的还是明确定义的?

    是C中的填充量struct在标准或编译器和 或目标体系结构中明确定义 我在标准中找不到答案 它是实现定义的 来自 C99 标准第 6 7 2 1 节 结构体或联合对象的每个非位域成员都按照实现定义的方式对齐 适合其类型的方式 可能还有无名的