gpt4 book ai didi

c - volatile 和 __volatile__ 之间的区别

转载 作者:太空狗 更新时间:2023-10-29 15:46:55 25 4
gpt4 key购买 nike

用gcc编译的C代码中volatile__volatile__有什么区别?

我正在查看 Linux 源代码,我注意到有些地方使用 __asm__ __volatile__ 其他地方使用 asm volatile 而其他地方使用 __asm__ volatile .

我还没有看到 __volatile__ 在没有 __asm__ 的情况下使用,而我看到 volatile 在其他各种地方使用。

__volatile__volatile 的作用有区别吗?如果有,那是什么?或者,如果不是,是否存在有时使用 __volatile__ 的原因?

最佳答案

这只是为了向后兼容遗留代码。 inlinevolatileasm等后来加入C的关键字,有下划线前缀/后缀版本(__inline____asm____volatile__ 等),这样您就可以在已经使用未经修饰的名称作为类型/函数/变量/任何内容的遗留代码中使用它们.有一个控制它的命令行开关,-ansi - 当您使用 gcc -ansi ... 编译时,仅识别这些新关键字的下划线版本。

关于c - volatile 和 __volatile__ 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14204893/

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