cpp-macro-expand - プリプロセッサのマクロ展開の回数

目的 Cプリプロセッサでのマクロ展開は、再起的に可能か? 結果 不可能。一度展開したマクロは、展開結果にその内容が含まれていても、それ以上展開されない。 (Self-Referential Macros - The C Preprocessorに書かれている通りだった)

cpp-operators - Cプリプロセッサで利用可能な演算子を把握する

目的 Cプリプロセッサで、#if の行内で使える演算子がなにかを、漏れなく把握したい。 K&Rやウェブ検索では、適切に見つけられなかった。 結果 以下の演算子が使用可能(gcc-3.4.6の場合): 演算子 結合規則 備考 defined X (不明) (Xの前後に一重のみカッ…

c-operators - C言語で使用可能な演算子と優先順位

結果のみ C言語では以下が定義されている(はてな記法の制限のため、'|'だけ2バイト文字で表記している)。 演算子 結合規則 備考 () [] -> . 左から右 ! ~ ++ -- + - * & (type) sizeof 右から左 (単項演算子) * / % 左から右 + - 左から右 > 左から右 >=…

dump-macros - Cファイル内でdefineされているマクロ一覧を出力する

目的 Cのソースファイル中で、どの #ifdef が有効なのかを調べるために、そのソース内でのdefine済みマクロ一覧を簡単に取得する。 結果 gccのwrapperを作ることで実現できた。 オリジナルコマンドのファイル名をgcc-origに変更する マクロ表示用gccラッパー…

make-default - Makefile 内でデフォルトのターゲットを任意に変更する

目的 コマンドラインでターゲットを指定せずにmakeを実行したとき、ビルドされるのはMakefileの最初に定義されたターゲットになる。 この「デフォルトターゲット」を、Makefile内で任意のものに変更したい。 結論 GNU Make 3.81(かそれ以降)を使って、.DEFAU…

はてなダイアリーと外部リンク(sssvn)のテスト

目的 外部のサイトに置いたファイル(例えばリポジトリ内のファイル)を、はてなダイアリから簡単かつ見やすいリンクを貼る方法を見つける。 できれば、マウスオーバーでレポジトリの内容を表示できるとよいなあ。。 結論 URLをそのまま貼り付ける方法しかな…

はてな記法(シンタックスハイライト)のテスト

目的 色々とコード片を貼り付ける予定なので、どんなふうに表示されるか、試してみる。 結論 通常使っている言語や処理系については、十分対応されているようだ(GraphVizに対応していたのには感激)。 仕様の穴を付くような記述を処理できるかどうかは、そ…

このブログを書く意図

目的 日々の細かいSpikeの記録を残したい。 どうせ残すなら、ひとりよがり日記形式じゃなく、きちんと報告書形式にして再利用性を高めたい。 どうせ残すなら、自分のライティング技術が高まるように、切れ味鋭い文章を目指したい。 結果 現在、挑戦中。