GCC

__FUNCTION__と__LINE__の文字列化

Linux kernel用に自作の簡易トレーサを使っている。 1つのチェックポイントあたり、16バイトの情報を記録しておいて、あとでダンプするというもの。16バイトというのは、 u32 timestamp; // タイムスタンプ const char *message; // メッセージ u32 param[2]…

cross platform development

クロスプラットフォームというか、プラットフォーム依存というか、そういうことをよく扱っているのでメモ。基本的にC/C++。 メモ プリプロセッサは、未定義の識別子を0として扱う。 従って、#if __GNUC__ >= 3はGCC3以上として使えるが、GCC2系かどうかを#if…