[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1864] from OSASK BOARD



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい。


http://www.imasy.or.jp/~mone/osask/index.cgi?REFER=3b6b65bc_f2fc

From: 川合秀実
Message-ID: 3b6b65bc_f2fc
Date: 2001/08/04 12:02
Subject: Re: 実行ファイルのファイルサイズ比較

 すばやいリアクションに感謝いたします。

 (註)この話題は、ぼやきページの8/3の話題についてです。

>さっそくですが、実行ファイルサイズではAPIの優劣はつけれないのではないかと思います。
>現状でもヘッダ管理の優劣がわかっていいと言えばいいのですが、
>それこそ、コンパイラの性能に振り回されるハメになりそうです。

 全くもっておっしゃる通りです。実際、同じWin95上でも、VC4.0とlcc-win32
とで大きな差が生じています。APIの設計の善し悪しを議論するなら、同じ目的
を達するのに最低どれだけのプログラムが必要なのかをはっきりさせなければい
けません。そのためにASKAやMASMを使って、徹底的にコンパクトに書いたバージ
ョンを用意し、比較しています。APIの優劣が反映されるのはこの部分です(で
も、結局、実行ファイルフォーマットの優劣が主な要因になっているようですが
)。

 しかし一方、低級言語を使うプログラマーはそんなに多くはないでしょう。そ
うなれば、低級言語下でどんなによい成績を残していても、実質的にはあまり意
味がないかもしれません。そんなわけで高級言語(C言語)下で、コンパイラの
コード生成能力も含めて比較してみました。

 C言語でアプリケーションを作るというのは、おそらくもっとも標準的な開発
手段です。これにどれだけ配慮しているかを比較する材料にはなると思います。

>それより、ある機能を実装するためにいくつのAPIが必要で、
>そのAPIの引数がどんなものか、代替APIはあるのか、
>どれだけ応用性があるか、というテストを行なった方が
>良いのではないでしょうか。

 これはもちろんそのとおりなんですが、

>とはいえ、設計思想の違いもあるので単純な優劣はつけれなさそうですが。

 ・・・と、僕も思ったのです。

 それに、今のところWindowsのAPIやLinuxのAPIを全然知らないので、比較でき
るようになるまで勉強するのはかなり時間がかかりそうです。

>#低機能APIと高機能APIを同時にそろえるのがいいOS?

 僕は、そういうOSが良いOSだと思っています。まずは、十分な汎用性と拡張性
を持っていなければいけません。その上で、特定の使い方が頻出するなら、その
使い方に限定して使いやすくしたファンクションも用意しておくべきです。・・
・ちなみに、OSASKはまだその域には達していません。将来の拡張の余地のある
最低限必要なファンクションを素直に提供しているだけです。

>あと、Win95/Nasm+MS-LinkerでHellow Worldを試してみました。
>getstdhandleで標準出力のHANDLEを入手し、
>writeconsoleで文字数を指定して出力する形を取りました。
>writefileを使えばより細かな制御ができるんだそうです。
>サイズはリンカオプションなしで3072B、
>リンカオプション fixed(win32sでの動作不可)で2048B
>(うちコード部81B)でした。本当はあと400Bほど削ることができます。

 ご報告ありがとうございます。リンカオプションfixedを指定すると、win32s
では動作しなくなるとのことですが、これは16bitコードになってしまうという
ことなんでしょうか?それとも、32bitコードではあるけれど、win32sを使わな
くなるというだけのことなんでしょうか?

 ご指摘、ご報告の点につきましては、近いうちにページに反映いたします。