我读到,C 中的 volatile
关键字用于向编译器指定可以更改声明的变量或函数的值,而无需程序本身对其进行更改。
鉴于我的程序始终由操作系统运行(操作系统可以更改这些值而不需要程序更改它们),是否有任何理由不在所有变量和函数声明中使用 volatile
关键字?
最佳答案
操作系统不会更改您的变量,除非您要求它这样做(通过涉及操作系统的某些函数调用)。
不要到处使用 volatile
。它将降低程序性能,因为它强制所有变量始终从内存中更新。因此,您不会从缓存中受益,也不会从正常的编译器优化中受益。
实际上,您很少会使用 volatile
。阅读另一个问题的答案以了解更多信息:https://stackoverflow.com/a/246148/4386427
关于c - 有什么理由我不应该对 C 中的所有变量和函数声明使用 "volatile"关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61982810/