C言語

C でヒアドキュメントごっこ cygwin

C でヒアドキュメントごっこ

C 言語 マクロ講座 # ## 編に触発されて、もうすこし悪戯を。(例によってcygwin+gcc) htmlでは、" (ダブルクォート)が多用されているので、cgiプログラムでは、文字列として定義するときにエスケープする必要があり面倒です。<h1 id="title">hello&…
C言語 の define マクロの可能性 C言語

C言語 の define マクロの可能性

ここ数日、define マクロで遊んでたんですが、まだまだ可能性が広がりそうです。 # と ## 共に古くからマクロで実装されている。ところが、これを知らない人達がとても多い。 十年、二十年と C 言語を使ってきたという人でも知らないと言う人が結構いる。これを知らないから、余計なコードを書き、バグを…
C で lisp のwith系マクロごっこ cygwin

C で lisp のwith系マクロごっこ

色々なパラダイムの言語を噛った後に、c をやるのは面白いかもしれない。 例によってcygwin + gccで確認してます。引数を取るマクロ(#define)は、便利なんですが、予想以上でした。プリプロセッサが処理する時は単なる文字列として扱われるという認識です。「マクロの引数に指定できるものは何だろ…