以下にリンクされている Niklas Frykholm による非常に素晴らしいブログ投稿を読んでいるときに、私は頭を包み込むことができない何かに出くわしました。
http://bitsquid.blogspot.nl/2012/01/sensible-error-handling-part-1.html
このコードは私を混乱させました:
__THREAD Array<const char *> *_error_context_name;
__THREAD Array<const char *> *_error_context_data;
コードは、単純なスタックとして使用される文字列の配列へのスレッド ローカル ポインターを定義します。私がよく理解していないのは、クロスプラットフォームの方法で配列を初期化して破棄する方法です? また、これは dll 境界でどのように機能しますか?