- 締切済み
ライン数とソフトサイズとの関係について
プログラムのライン数(行数)とそのソフトのサイズとの関係はおおよそどのような関係があるのかご存知のかたいらっしゃいましたら、教えてください。ライン数とソフトサイズは比例関係にあると思うので、だいたい何倍くらいの比例関係になっているのでしょうか。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- toysmith
- ベストアンサー率37% (570/1525)
コンパイラ言語の行数(業界用語でステップ数)と実行ファイルの関係ですね。 残念ながら公式はありません。 理由 1.ライブラリサイズ ソフトウェアは記述したプログラムだけで構成されるものではありません。 ライブラリと呼ばれるメーカー(またはサードパーティー、フリーの場合もある)提供のコンパイル済みのプログラムファイルも統合(=リンク)されてはじめて実行形式のプログラムファイルとなります。 ライブラリには「必ず必要」なライブラリ(サイズ大きめ)と「ある機能が使いたいときだけ必要」なライブラリ(サイズ小さ目)があります。 ソースファイルの行数が少ないほど実行形式プログラムファイルにしめるライブラリの比率が高くなります。 また、プログラムの機能が多ければ多いほど多くのライブラリを必要とします。 2.ダイナミックリンク ライブラリを実行ファイルにリンクせず、実行時にリンクを行う方式(ダイナミックリンク)があり、現在多くのソフトウェアで採用されています。 ダイナミックリンクライブラリもプログラムですから、コレを作ることもあります。 ダイナミックリンクライブラリは実行形式ファイルに含まれないため、ソース行数との関連の特例となります。 3.最適化 ソースにかかれたプログラムは素直にそのまま機械語に変換されるわけではありません。 最適化と呼ばれる機構で「コンピュータにとって都合よい命令群」に変換されます。 最適化には「実行速度優先(一般的に実行形式は大きくなる)」、「メモリサイズ優先(同じく小さくなる)」、「バランスよく」などの選択肢があるため、同じソースを同じコンパイラでコンパイルしても実行形式ファイルのサイズは一定ではありません。 4.行の概念 そもそも、現在主流のプログラム言語には行の概念がありません。 結果、プログラムを行数で換算する方式自体が現在通用しません。 「比例するわけではない」ということになります。