C言語
- C言語 C の未定義動作:-O0 と -O2 で結果が変わる理由 C 講座 第5回。符号付きオーバーフロー、消えるループ、strict aliasing、未初期化変数、消された NULL チェックを -O0・-O2 で実行。機械語、UBSan の報告、サニタイザーのコストまで実測。
- C言語 C の文字列・構造体・バッファオーバーフローを ASan で確かめる C 講座 第4回。NUL 終端、strcpy・strncpy・snprintf の落とし穴、offsetof で測る構造体のパディング、スタックのオーバーフローを3通りのビルドで検出した実行記録。UTF-8 の切り詰めも。
- C言語 C言語のポインタと malloc:解放後使用・二重解放・リーク C言語講座3。Apple clang 21 で実行:& と *、malloc/free、解放後使用と二重解放の ASan 報告、macOS の leaks でリーク検出、realloc の伸ばし方を実測。
- C言語 C の性能・Makefile・lldb:キャッシュ順序の実測とクラッシュ解析 C 講座 第6回。行順と列順で 54 倍の差、構造体の配列と配列の構造体、ヘッダ依存を扱う Makefile と 3 つの罠、lldb の bt と frame variable でクラッシュ原因を突き止めるまで。
- C言語 C言語の制御文・関数・配列:off-by-one を ASan で捕まえる C言語講座2。Apple clang 21 で実行:if・ループ・関数・配列、= と == の警告、配列のポインタ化と sizeof の罠、範囲外書き込みを ASan で行番号まで特定し、そのコストも実測。
- C言語 C言語入門:初めてのプログラム・型・printf・警告の読み方 C言語講座1。Apple clang 21 で全部実行:5分で最初のコンパイル、-Wall -Wextra の警告の読み方、int のサイズとオーバーフロー、printf の書式ミス、整数の割り算の罠。