タグ

c++とbsdに関するbeakmarkのブックマーク (2)

  • FreeBSD 10開発版、C++スタックをGPLフリーへ | エンタープライズ | マイコミジャーナル

    FreeBSD - The Power To Serve FreeBSDプロジェクトはベースシステムからGPLv2のコードを排除する取り組みを続けている。こうした動きのきっかけはデフォルトのコンパイラとして採用しているGCCがそのライセンスをGPLv3に移行させたことにある。FreeBSDプロジェクトはベースシステムにGPLv3のコードを取り込まない方針を定めている。このため、移行後のGCCへアップグレードができずにいる。ベースシステムのGCCは「GCC 4.2.2 20070831 prerelease」のままで止まっており、別のコンパイラへの移行が求められている。 FreeBSDはアプライアンスや組み込みデバイスで採用されるケースが増えており、またそうしたプロダクトを製造しているベンダはGPLのコードがベースシステムに含まれていることを良としない傾向がある。GCCから別コンパイラへの移

  • gccにおけるatomic操作命令の個別関数

     gccとVC x86/x64環境で開発する上で, gccとVCはどちらも非常に優れたC/C++コンパイラです. ただLinuxWindowsのどちらの環境でも動作するようなC/C++コードを書くためには, gccとVC, およびそれらが動作するOSの違いが問題になることがあります. ここではそれらの違いについてまとめていきたいと思います. なお説明を簡単にするためにマクロを多用していますが実際には可能なら別の手段をとるか, 名前がぶつからないような命名規則に則ったマクロ名をつけることをお薦めします. 対象 定義済みマクロ 有用なマクロ コンパイルオプション 演算子の代替表現の抑制 日語のコメント 型 pragma attributeとdeclspec ファイル入出力 テキストとバイナリ 巨大なファイル static変数の初期化 snprintf 例外ハンドラ intrinsic関数

    beakmark
    beakmark 2009/08/23
    InitOnceExecuteOnce() 知らなかった。
  • 1