タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

2003に関するfimbulのブックマーク (1)

  • volatile教、あるいはvolatile狂 - yohhoyの日記(別館)

    かつてのMicrosoft Visual Studio .NET 2003のC/C++コンパイラ(MSVC7.1)には、「volatile変数にオレオレ定義の意味を与えて最適化を行う」というアグレッシブすぎるオプションが存在したという昔話。 どんなもの? このオプションでは、volatileキーワードにC/C++標準規格とは全く異なる独自の意味を与えて、コード生成時の最適化処理に利用します。つまり、コンパイル時に下記を前提としたコード生成を行うのです。 通常の変数=変数実体にアクセスする手段は1通りだけ(aliasingが無い) volatile変数=上記制約の範囲外(aliasingが有る) これは「volatile=aliasingが有りえる」というMSVC7.1だけの独自拡張です。*1 このaliasing(エイリアシング; 別名)という単語、少々耳慣れないかもしれません。alias

    volatile教、あるいはvolatile狂 - yohhoyの日記(別館)
  • 1