タグ

2009年8月6日のブックマーク (6件)

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

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

  • コメント masa (2008/02/29 18:31) - パスワードの定期変更は「神話」なのか? - ockeghem(徳丸浩)の日記

    ITProの記事が契機となって、PCIDSS(PCIデータセキュリティ規準)およびパスワードに関する規定が話題となっている*1。 「パスワードは90日ごとの変更」が義務づけられる!? | 日経 xTECH(クロステック) それに対して,PCIDSSは表現が具体的である。現在のバージョン1.1ではパスワードについて下記のような規定がある。 ■要件8.5.8 グループ、共有または汎用のアカウントとパスワードを使用しないこと。 ■要件8.5.9 ユーザー・パスワードは少なくとも90日ごとに変更する。 http://itpro.nikkeibp.co.jp/article/OPINION/20080220/294287/ このうち、要件8.5.9「ユーザー・パスワードは少なくとも90日ごとに変更する」に関して疑問を持った。これはいわゆる「セキュリティの常識」という奴の一つではあるが、実際のところ、

    コメント masa (2008/02/29 18:31) - パスワードの定期変更は「神話」なのか? - ockeghem(徳丸浩)の日記
  • Windows XP SP2のZoneIdとは?

    解説 Windows XP Service Pack 2(以下XP SP2)のInternet Explorer(IE)では、セキュリティ対策の一環として、新たに「ZoneId(ゾーンID)」と呼ばれる仕組みが導入された。インターネットゾーンからダウンロードしたファイルや、Outlook Expressで保存したメールの添付ファイルに対して、ZoneIdと呼ばれる一種の「目印(マーカー)」を付けておき、エクスプローラなどでダブルクリックして実行しようとすると、当に実行してもよいかどうかがユーザーに対して問い合わせられる機能である。そして、ユーザーが許可した場合にのみプログラムの実行が行われる。従来は、いったんローカルにダウンロードすれば何の制約もなくファイルを実行することができたが、ZoneIdにより、インターネットゾーンから取得したファイルに対しては、ある程度の制約を課すことができるよ

    Windows XP SP2のZoneIdとは?
    kenichiice
    kenichiice 2009/08/06
    「 XP SP2では、ZoneId情報を持つファイルを実行しようとすると、実行してもよいかどうかをユーザーに問い合わせる。」
  • http://ml.tietew.jp/cppll/cppll/article/560

    kenichiice
    kenichiice 2009/08/06
    「しかし、比較関数にコンテナ内のオブジェクトのメンバ関数ではなく、 他のオブジェクトのメンバ関数を呼びだし、引数にコンテナ内のオブ ジェクトを渡してもらいたい場合があります。」
  • テンプレートクラスの「特殊化」と「明示的インスタンス生成」を同時に使う場合は注意が必要だ(2) - akihiko’s tech note

    先日の記事で扱った問題の対処法について.結論:テンプレートクラスの(部分)特殊化を行う場合は,そのテンプレートクラスを宣言しているヘッダファイルで「(部分)特殊化の宣言」を行うこと.部分特殊化の実装は,通常のクラスまたはメンバ関数の実装と同様にすること(inline 関数やテンプレート関数ならその場で実装,そうでないならユニットの実装ファイルに実装を記述し,実装が複数のオブジェクトファイルで重複しないようにする). 先日の記事の例の場合, unit1.h を以下のように変更する: /*! \file unit1.h \date Feb.19, 2009 */ #ifndef unit1_h #define unit1_h #include <iostream> namespace hogehoge { template <typename T> struct TTest { T x; vo

    テンプレートクラスの「特殊化」と「明示的インスタンス生成」を同時に使う場合は注意が必要だ(2) - akihiko’s tech note
    kenichiice
    kenichiice 2009/08/06
    「結論:テンプレートクラスの(部分)特殊化を行う場合は,そのテンプレートクラスを宣言しているヘッダファイルで「(部分)特殊化の宣言」を行うこと.」
  • ストリームクラス -- 階層図 - C++ Labyrinth

    ストリームクラス -- 階層図 ストリームクラスに対する自分の理解がいまいちなので、整理するために階層図を作ってみた。 元ネタは、『C++ 標準ライブラリ チュートリアル&リファレンス』 (アスキー) である。 とりあえずは骨格のみ。メソッドなどについては、おいおい肉付けしていく予定。 まずは、ストリームクラスの階層図。 太字にした basic_xxx は、 後ろに <> が付いていることからも分かるようにテンプレートクラスである。 それを char および wchar_t で特殊化したものが、istream や wistream などになる、というわけだ。 ボックスの近くに書いてある < …… > は、 そのクラスを宣言または定義しているヘッダーファイルである。 とくに iosfwd はクラス名だけを宣言しており、 クラスの実体が不要な場合は、 できるかぎり iosfwd だけをインクル

    kenichiice
    kenichiice 2009/08/06
    ストリームクラス