Re: [问题] volatile的正确用法

楼主: Feis (永远睡不着 @@)   2014-09-13 20:34:03
※ 引述《windows2k (程式宅 <囧>)》之铭言:
→ windows2k: 我的问题是如果可能被最佳化掉, 那为什么大家都这么做 09/13 07:29
→ windows2k: 还是大家约定俗成完全无视? 09/13 07:29
我的看法是:
1. 会被最佳化的情况很少见. 一般情况下, 你不会产生不能被最佳化的情况.
像网页提的那种例子, 正常意识到自己在干嘛的人都会用 volatile 宣告变量
如果变量本身是 volatile, 当然用 memset 有它的风险. 知道风险还去做. 那怪不得别人.
2. 真的要做的话, 写 memset 的 volatile 版本我相信在一般的编译器不会有什么问题.
像网页说的那个问题还是着重在对标准的 volatile 行为该怎么解释.
我相信宣告变量本身为 volatile 又使用 memset 的 volatile 版本时, 应该不会有什么其他问题. (自以为)
3. 如果你真的真的很 care, 那就使用 memset_s 吧, 至少编译器要保证它是可以用的 XD
作者: windows2k (程式宅 <囧>)   2014-09-13 07:29:00
我的问题是如果可能被最佳化掉, 那为什么大家都这么做还是大家约定俗成完全无视?

Links booklink

Contact Us: admin [ a t ] ucptt.com