0

生産的なプログラムを作成し、FileSize を非常に小さく保ちたいと考えています。ただし、それを実現するためのヒントをいくつか知りたいと思います。

たとえば、FileSize が小さい場合は何が良いでしょうか。

また:

if .... = '1' then begin
 ...
end;

また:

if ..... = inttostr(1) then begin
...
end;

また:

if .... = inttostr($0001) then begin
...
end;

また:

case of intvar
  1: ...
  2: ...
end;

それから、私が試してみて驚いたことがあります。プロジェクト内に文字列を定数として格納する別のユニットを作成し、定数 vars を使用してプロジェクト内の文字列を置き換えました。何らかの理由で、これにより FileSize が増加しますが、現在、二重に使用されている文字列を var として置き換えています。

また、コードに直接入れるよりも、変数に格納する方が良いですか?! 例えば:

Function1(param1, param2, param3); // this code is used about 20 times in my project

または、次の場合の方が良いですか:

Avar = Function1 (param1,param2,param3); // Store this once in a var and then replace it

そして何について:

if ... = TRUE 

また:

if ....

と同じ:

if .... = FALSE

また:

if not(...)...

より小さな FileSize で生産的なプログラムを作成するためのその他のヒントはありますか?

前もって感謝します。

私はDelphi7を使用しています

4

2 に答える 2

11

率直に言って申し訳ありませんが、あなたはカートを馬の前に置いています。

与えられた例のコードのバリエーションからどのような違いが生じるかをまだ知らずに、実行可能ファイルを小さくする方法を本当に知りたい場合は、今すぐやめて、言語とコンパイラについて詳しく知るまで読んで/学び/練習する必要があります.

そうすれば、あなたが得たすべての適切なコメントからすでにわかるように、あなたの質問自体がほとんど意味をなさないことを理解できます。

  • コンパイラ オプション/最適化に応じて、まったく同じソース コードが非常に異なる実行可能ファイルになり、異なるソース コードが同じ実行可能ファイルになる可能性があります。
  • 主な目的が、生成された exe をマイクロ管理/制御することである場合は、アセンブラーで直接プログラムします。
  • コンパイラによって生成されたものを知りたい場合は、CPU ビューの使用方法を学んでください。
  • 最初に正確さ、次に可読性/保守性のためのプログラム
  • その後、必要に応じて (正しいメトリクス/ツールを使用することを意味します)、速度、メモリ使用量、またはファイル サイズを最適化できます (おそらく、最も有用性/必要性が低いもの)。
于 2012-05-10T19:39:32.270 に答える
4

昔、私はプログラムをできるだけ小さくしようとしました。なぜなら、それはフロッピー ディスクに収まらなければならなかったからです (そうです、私は恐竜です)。このスプリッター ツールは Delphi で作成されており、サイズは約 50KB です。

これほど小さくするには、Delphi の多くのユニット (特にFormsユニットとそれを参照するすべてのユニット) を使わずに行う必要がありました。唯一の方法は、Windows-API を GUI に直接使用することでした。現在これを行う理由は思いつきませんが、関心がありません。

VCL を使用するとすぐに、コード内のすべてのマイクロ最適化を組み合わせて縮小できるよりも、exe サイズがはるかに大きくなります。

于 2012-05-10T20:34:58.733 に答える