実行ファイルの容量

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
チルチル

実行ファイルの容量

#1

投稿記事 by チルチル » 16年前

注釈は機械語に変換されないから注釈を1万行書いたとしても実行ファイルは1バイトも増えないんですか?
あと分割コンパイルをするとヘッダファイルをインクルードしたりエクスターン宣言とかをしますが
その場合は分割コンパイルをしなかった場合に比べて実行ファイルの容量が増えるのでしょうか?

初級者

Re:実行ファイルの容量

#2

投稿記事 by 初級者 » 16年前

私だったら、まず実験してみます。

チルチル

Re:実行ファイルの容量

#3

投稿記事 by チルチル » 16年前

それはまあそうなんですけど、多分目に見えるほどの差は出ないと思うので・・

box

Re:実行ファイルの容量

#4

投稿記事 by box » 16年前

コメントは、コンパイルの前に、何も書かなかったものと解釈します。
したがって、コメントを1万行書いても1億行書いても、
できあがる実行ファイルの大きさは同じです。

チルチル

Re:実行ファイルの容量

#5

投稿記事 by チルチル » 16年前

そうなんですか~
ところでまた疑問が出てきたんですけど
#defineは普通に書くのより容量が増えますか?

たかぎ

Re:実行ファイルの容量

#6

投稿記事 by たかぎ » 16年前

C言語の話だとして...

通常、注釈はどれだけ書いても実行ファイルのサイズには影響しません。
ただし、例外もあります。

1. CINTのようなインタープリタの場合
 実行ファイル=ソースファイルですので、コメントのサイズがそのまま実行ファイルのサイズに反映されます。

2. コメントごとデバッグ情報を埋め込む場合
 当然、コメントのサイズに比例して、ソースファイルのサイズが増加します。

分割コンパイルの場合、最適化がある程度制限されるので、実行ファイルのサイズに影響が出ます。
ただし、大きくなるか小さくなるかは状況次第です。

チルチル

Re:実行ファイルの容量

#7

投稿記事 by チルチル » 16年前

あ~小さくなる場合もあるんですか・・
よくわかりました、
どうもありがとうございます。

たかぎ

Re:実行ファイルの容量

#8

投稿記事 by たかぎ » 16年前

> あ~小さくなる場合もあるんですか・・

念のため補足しておきます。
分割コンパイルした方が小さくなる場合ですが...

分割しないときに、最適化によってやや大きめの関数がインライン置換される場合が考えられます。
関数を外部定義にすればインライン置換されませんので、結果として実行ファイルは小さくなります。

閉鎖

“C言語何でも質問掲示板” へ戻る