2017-03-01から1ヶ月間の記事一覧
プログラミング言語Rustにおける、&Tから&mut Tへの型変換*1と同オブジェクトに対する変更操作は、未定義動作(undefined behavior)とされている。これは単にRustコンパイラのBorrow Checkerを騙すだけでなく、該当プログラムの動作が不定となり深刻な障害要…
Visual Studio 2010以降では、IntelliSenseコンテキスト判別用マクロ__INTELLISENSE__が定義される。 #ifdef __INTELLISENSE__ ... #endif MSDN公式ドキュメントにはVisual Studio 2015以降から記載されている。関連URL Troubleshooting Tips for IntelliSen…
LLVM/Objective-Cのatomic属性プロパティが保証する性質、C言語(C11)のAtomic変数アクセスとの比較、およびマルチスレッド処理での利用についてメモ。超要約:Objective-C @property宣言には常にnonatomic属性を指定せよ。atomic属性プロパティは人類には早…