易失性和编译器优化

2023-12-01

如果关闭编译器优化,即(gcc -o0 ....),可以说“易失性”关键字没有区别吗?

我制作了一些示例“C”程序,并且仅当打开编译器优化时才在生成的汇编代码中看到易失性和非易失性之间的差异,即((gcc -o1 ....)。


不,这样的说法没有任何依据。

volatile具有标准中阐明的特定语义。你断言gcc -O0总是生成这样的代码:每个变量——volatile或不——符合这些语义。这是无法保证的;即使碰巧是特定程序和特定版本的情况gcc,例如,当您升级编译器时,它很可能会发生变化。

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

易失性和编译器优化 的相关文章

随机推荐

  • 如何更改 perf_event_open 最大采样率

    我正在使用 perf event open 来获取样本 我试图让每个人都切中要害 但 perf event open 不够快 我尝试使用以下命令更改采样率 echo 10000000 gt proc sys kernel perf even
  • 权限被拒绝(公钥)。致命:无法从远程存储库读取

    我的中有以下内容 git config 1 core 2 repositoryformatversion 0 3 filemode true 4 bare false 5 logallrefupdates true 6 remote ori
  • Java 8 在分组时不保持顺序

    我正在使用 Java 8 按数据分组 但获得的结果并不是按顺序形成的 Map
  • 将 NSUInteger 添加到 NSMutableArray

    您好 我正在开发一个项目 我正在尝试将 NSUInteger 添加到 NSMutableArray 中 总的来说 我对 Objective C 和 C 都很陌生 当我运行应用程序时 NSLog 显示 null 我将不胜感激任何人能够提供的任
  • 滑动切换下一个元素

    我想要 5 个 p 单击时显示的标签 p div 那是在下面 我可以在我命名每个的地方做到这一点 p 和每个 p div 不同 但这会导致很多 jQuery 所以 目前我有 p class flip Example p div class
  • 如何从应用程序对 Xcode 项目进行逆向工程?

    Xcode 删除了我的项目 一切都消失了 我唯一拥有的是 iPhone 6 中的应用程序 那么有什么方法可以检索应用程序的 Xcode 项目呢 Update 我找到了所有文件 现在我只需要在新项目中重新组装它们 但我不知道怎么办 让我们明确
  • C# 线程暂停和恢复

    我有多个线程 如何暂停 恢复它们 来自重复的问题 我如何暂停 5 个线程 并记住它们的状态 因为其中一个在吃 另一个在思考 等等 如果您正在使用System Threading Thread 然后你可以打电话Suspend and Resu
  • Python 并行迭代列表?

    我创建了一个列表 其中包含不超过 8 个项目 现在我使用标准 for 循环 for item in list 循环该项目 我想知道是否有一种方法可以准确检查所有元素同时 我看过一些关于使用 zip 同时迭代 2 个列表的帖子 这可能会有所帮
  • 在 JavaScript 中高效解析电子邮件正文

    我需要解析多个电子邮件正文 如下所示 Name Bob smith Email email protected Phone Number 4243331212 作为较大程序的一部分 我有以下函数来解析页面 function parseBod
  • ScrollView 中的可缩放 TextView

    我想做一个TextView可以根据捏缩放来更改文本的大小 这TextView是在一个里面ScrollView 我有TextView捏合时缩放 但仅当您几乎完全水平地移动手指时 如果捏缩放有垂直组件 则默认为滚动而不是缩放 有没有办法禁用滚动
  • 如何将QPushButton插入TableView?

    我正在实施QAbstractTableModel我想插入一个QPushButton在每行的最后一列 当用户单击此按钮时 将显示一个新窗口 其中包含有关此行 的更多信息 您知道如何插入按钮吗 我了解委托系统 但所有示例都只是关于 如何使用组合
  • 在 r 中收集多列数据

    我有一些数据 我正在尝试使用 tidy R 和 R 中更长的函数来获取输出 如下所述 但我无法做到这一点 我正在获取数据 我有这种格式的数据 还有许多其他列名称 Country State Year 1 Population 1 Year
  • 如何将cucumber集成到testNG中?

    我有一个用于由核心 JAVA TestNG 创建的框架 该框架遵循TDD模型 POM是我们的构建管理工具 有人可以告诉我是否有可能使用 Cucumber 将框架从 TDD 更新为 BDD 但我仍然想对这个要求做最小的改变 比如不改变任何现有
  • 尝试在 DF 的切片副本上设置值

    我正在用 pandas 和 python 做一些事情 我有下一个代码 df pd read csv Request csv keep default na False df1 df loc df Request Status Closed
  • 为什么这个 preg_replace 调用返回 NULL?

    为什么这个调用返回NULL 正则表达式错误吗 随着test输入它不返回NULL 文档说 NULL 表示错误 但它可能是什么错误 s hex2bin 5b5d202073205b0d0a0d0a0d0a0d0a2020202020202020
  • 如何使用以用户定义类型为键的 std::maps ?

    我想知道为什么我不能将 STL 映射与用户定义的类一起使用 当我编译下面的代码时 我收到以下神秘的错误消息 这是什么意思 另外 为什么它只发生在用户定义的类型上 原始类型用作键时是可以的 C MinGW bin lib gcc mingw3
  • 在 Woocommerce 中将结帐国家/地区下拉菜单设置为只读

    I want country dropdown on woocommerce as readonly 我已经将默认国家 地区设置为澳大利亚 但我希望它们是只读的 Kashalo 的答案是正确的 您还可以使用其他多种方法之一 1 仅适用于结帐
  • 使用 Unix 工具解析 JSON

    我正在尝试解析从curl请求返回的JSON 如下所示 curl http twitter com users username json sed e s g awk v k text n split 0 a for i 1 i lt n i
  • vba、getElementsByClassName、HTMLSource的双引号不见了

    我用 VBA 抓取一些网站是为了好玩 我使用 VBA 作为工具 我使用 XMLHTTP 和 HTMLDocument 因为它比 internetExplorer Application 更快 Public Sub XMLhtmlDocume
  • 易失性和编译器优化

    如果关闭编译器优化 即 gcc o0 可以说 易失性 关键字没有区别吗 我制作了一些示例 C 程序 并且仅当打开编译器优化时才在生成的汇编代码中看到易失性和非易失性之间的差异 即 gcc o1 不 这样的说法没有任何依据 volatile具