本来は、TOWNSの GUI 環境との比較が必要なところですが、私が、 TOWNSの GUI 環境での、プログラミングをしたことがないため、 比較できません。
ただ、『実践High C プログラミング GUI 入門編』目を通したかぎりで は、似ているように思います。Oh!FM TOWNS 誌では、難しいと書いてあったので、 そのように思われたかたも多いと思います。 確かに、GUI を扱うプログラムは簡単ではないですが、 TOWNSの GUI 環境や Windows 環境と比べて X が特に難しいということは、 無いと思います。(NeXT と比べると自信がないが…)
本ドキュメントで、ANSI-C を採用しているのは、ANSI-C で採用された
プロトタイプ宣言などが使えることも要因の一つですが、一般に、UNIX の プログラミング関係の書籍には、ANSI-C
用に書かれていないものが多いの で、ANSI-C を使ったら、こうなると言う例のために採用しました。
(他にも、私が普段から使っていると言う理由もある。)
◆プロトタイプ宣言を使う場合(ANSI-C)
void function(Widget w, XtPointer client_data, XtPointer call_data) { ・◆プロトタイプ宣言を使用しない場合 void function(w, client_data, call_data) Widget w; XtPointer client_data; XtPointer call_data; { ・双方の方法に対応するためには、 X のヘッダーファイルのプロトタイプ 宣言を参考にするとよい。これを元にすると… ◆参考までに上記の例では、以下のように表すこともできる。 #if NeedFunctionPrototypes void function(Widget w, XtPointer client_data, XtPointer call_data) #else void function(w, client_data, call_data) Widget w; XtPointer client_data; XtPointer call_data; #endif { ・ |
C言語は、フリーフォーマットの言語なので、字下げ(インデント:行の 先頭部分の空白/タブ)などで書きかたに規則がないので、書きかたは人そ れぞれになります。
私からは、この事に関しては、自分にあったやり方にしてくださいとしか 言えません。大事なのは、「作ったあと時間を置いてから見てももわかるこ と」なのです。字下げは、"indent"と言うツールで簡単に変更可能かもし れません。お試しください。
それから、私は、下位の関数をプログラムの上部に配置するボトムアップ でプログラムを組みます。これにより関数の宣言を減らしています。関数の 位置を再配置する場合には、関数の宣言を準備する必要があるかもしれませ ん。
これは、fvwm のタイトルバーです。なお、設定により形状は、異なります。
mwm では、ほとんど同じ形状になります。
twm や olwm などでは、別の形状になります。
アプリケーション・デフォルト・ファイルやプログラム内のコメントは、 シフトJIS漢字コードです。 タブ・サイズは 4 を使用しています。