gpt4 book ai didi

c - 如何从用户空间使用asm/system.h?

转载 作者:行者123 更新时间:2023-11-30 17:56:51 24 4
gpt4 key购买 nike

对于我的 Linux 网络应用程序,我指的是 lincap.c了解如何使用 PACKET_MMAP 方法通过环形缓冲区接收以太网数据包。

lincap.c 使用 asm/system.h 中定义的内存屏障宏 mb()。但是,该头文件中的代码被 #ifdef __KERNEL__ 所包含。我想这意味着它是一个内核头文件。如何从用户空间应用程序(我相信 lincap.c 就是)中使用 mb()

BR

大卫

最佳答案

也许您可以使用__sync_synchronize内置 gcc 提供。我不确定它是否生成完全相同的代码,但实际上它应该足够相似。因此,只需将 mb 定义为它的别名就可以了。

关于c - 如何从用户空间使用asm/system.h?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13161150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com