今までMS系コンパイラだけの機能だと誤解してた。 gcc(version 3.4以上)でも#pragma onceが使える。だからいちいちインクルードガードを書く必要はない。 pragma once:Wikipedia ただし、 C/C++標準で定められていない独自拡張であり、移植性は期待できない #pragma hogehoge は、hogehogeにtypoがあってもwarningすら出ずに無視される シンボリックリンクがあると正しく動作しないコンパイラがある(gcc3.4など) 移植性に関しては、wikipediaによれば多くのコンパイラでサポートされているようなのでさほど問題にはならないかもしれない。 しかし2番目、onceでのtypoはやばい。そのときは何の問題もなくコンパイルが通っても、ある日突然2重インクルードによるエラーが発生して混乱の元。用いる際は十分注意すること 裏技と