首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在缺少stdatomic.h的机器上使用原子整数?

如何在缺少stdatomic.h的机器上使用原子整数?
EN

Stack Overflow用户
提问于 2017-03-05 20:15:10
回答 1查看 290关注 0票数 6

我已经开发了一个多线程程序,它依赖于stdatomic.h中atomic_int、atomic_store和atomic_load的可用性。该程序是与GCC一起编写的。

现在,我尝试在几个缺少stdatomic.h的旧操作系统版本上编译该程序,但都失败了。不幸的是,这是一个要求,我能够在旧机器上编译程序以及。因此,仅在新的操作系统版本上编译程序并在旧版本上运行二进制文件是不够的。

有没有办法在更老的机器上模拟stdatomic.h,也许可以使用一些特定于GCC的内置函数?

虽然在旧操作系统上安装较新版本的GCC可能是解决方案,但当前的构建系统已将调用硬编码为" GCC“,而且由于旧操作系统的包管理系统中没有它,因此必须从头编译新的GCC。因此,理想情况下,答案应该是在旧的GCC版本上工作的东西。

EN

回答 1

Stack Overflow用户

发布于 2017-03-05 21:27:05

最好的办法是推出自己的包装器。如果可用,则使用stdatomic,否则使用互斥锁或特定于平台的指令来模拟操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42608242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档