我想编制高效的程序并保持我的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;
然后我尝试了一些东西,我很惊讶。 我在我的项目中创建了另一个单元,它将Strings存储为常量,然后我使用常量变量来替换项目中的字符串。出于某种原因,这会引发我的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
答案 0 :(得分:11)
我很抱歉直言不讳,但是你把车推到了马前。
如果您真的想知道如何让您的可执行文件更小而不知道您的示例中的代码变体会产生什么差异,那么您应该立即停下来阅读/学习/练习,直到您对该语言有更多了解为止和编译器。
然后你会明白你的问题本身没什么意义,因为你已经可以看到所有相关的评论。
答案 1 :(得分:4)
很久以前,我试图让程序尽可能小,因为它必须放在软盘上(是的,我知道我是一只恐龙)。这个Splitter工具是用Delphi编写的,大小约为50KB。
为了得到这么小,有必要没有很多Delphi的单位(尤其是Forms
单位和所有引用它的单位)。唯一的办法就是直接使用Windows-API进行GUI,我现在想不出这样做的理由,但出于兴趣。
只要你使用VCL,exe的大小就会增长得更多,比你代码中的所有微优化都可以减少它。