应用开发中 mb() rmb() wmb() 宏使用?

lgf2002 2014-04-15 11:51:22
有谁在应用开发中,用过mb(), rmb(), wmb()这些类似的宏?
我在代码中 #include <asm/system.h>头文件,找不到,然后我在、/usr/include/asm/下创建了一个软连接到/usr/src/kernels/2.6.32-279.el6.x86_64/arch/x86/include/asm/system.h,虽然源代码可以找到这个头文件了,但是,编译的时候在system.h中报错。错误应该是找不到这个头文件里包含的
#include <asm/asm.h>
#include <asm/segment.h>
#include <asm/cpufeature.h>
#include <asm/cmpxchg.h>
#include <asm/nops.h>

#include <linux/kernel.h>
#include <linux/irqflags.h>
这某些头文件导致。

有没有比较简单的办法可以再应用开发中使用mb(), rmb(), wmb()?
...全文
575 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mLee79 2014-04-15
  • 打赏
  • 举报
回复
不写驱动一般也就用到 barrier().. 写驱动那肯定这些头文件都有的, 也没这些问题..
xiaoqiao_82 2014-04-15
  • 打赏
  • 举报
回复
除编译器屏障 barrier() 外,内存屏障在不同硬件平台上的实现并不相同。 你可以参考 Linux 内核代码中, arch/<arch>/include/asm/barrier.h 中的实现,自己编写汇编代码。
赵4老师 2014-04-15
  • 打赏
  • 举报
回复
搜“The Intel 64 and IA-32 Architectures Software Developer's Manual”
luciferisnotsatan 2014-04-15
  • 打赏
  • 举报
回复
没见过,这是干嘛的? man 也查不到这些东西
lgf2002 2014-04-15
  • 打赏
  • 举报
回复
没人在实际工作中用过吗?

65,209

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧