2012-05-10 3 views
0

생산성을 높이고 FileSize를 매우 작게 유지하고 싶습니다. 그러나 나는 그것을 어떻게 수행하는지 몇 가지 팁을 알고 싶습니다.작은 프로그램을 어떻게 프로그래밍합니까?

다음 중 하나 :

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

나 :

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

나 :

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

나 : 작은 파일 크기에 대한 더 나은 무엇인지 예를 들어

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

그런 다음 제가 시도한 것이 있습니다. 놀랐습니다. 문자열을 상수로 저장하는 프로젝트의 다른 단위를 만든 다음 상수 값을 사용하여 프로젝트의 문자열을 대체합니다. 어떤 이유로 지금이 두 번 사용 된 문자열을 var로 바꾸지 만 내 FileSize를 발생시킵니다.

또한 코드에 직접 넣어 두는 것보다 vars에 물건을 저장하는 것이 좋습니다. 예를 들어 :

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

또는 더 나은 경우 I :

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

그리고 일에 대해 :

if ... = TRUE 

나 :

if .... 

과 동일 :

if .... = FALSE 

나 :

if not(...)... 

다른 끝은 작은 파일 크기에 대한 생산 프로그램이란?

미리 감사드립니다.

은 내가 무딘 죄송 Delphi7

+8

당신이 주로 이야기하는 것들은 EXE 크기에 거의 영향을주지 않습니다. –

+4

정말로 작은 exe를 원한다면 VCL을 사용하지 않아야합니다. 그것은 간단합니다. 당신이 언급 한 모든 최적화는 이미 컴파일러에 의해 처리됩니다. – whosrdaddy

+4

대부분의 생산적인 프로그래밍과 파일 크기는 관련이 없습니다. 코드의 가독성과 유지 보수성에 더 집중해야합니다. –

답변

11

를 사용하지만, 당신은 말을하기 전에 카트를 가하고 있습니다.

주어진 예제의 코드 변형으로 인해 어떤 차이가 발생 하는지를 알지 못하고 실제로 실행 파일을 작게 만드는 방법을 알고 싶다면 해당 예제에 대한 자세한 내용을 알기 전까지 지금 당장 중지하고 읽고 배우고 연습해야합니다. 언어 및 컴파일러.

그러면 이해할 수있는 모든 의견을 이미 볼 수 있으므로 질문 자체가 의미가 없습니다.

는 동일한 소스 코드는 매우 다른 실행 파일과 다른 소스 코드가 발생할 수 있습니다
  • 은 컴파일러 옵션/최적화에 따라, 같은 실행이 발생할 수 있습니다
  • 당신의 주요 목표는 마이크로 관리하는 경우/제어 생성 된 exe, 어셈블러에서 직접 프로그램.
  • 컴파일러에서 생성되는 내용을 알고 싶으면 CPU보기를 사용하는 방법을 알아보십시오. (정확한 통계/도구를 사용하는 것을 의미) 필요한 경우 정확성 첫째, 다음 가독성/유지 보수
  • 에 대한
  • 프로그램에만 다음, 당신은 속도, 메모리 사용량 또는 (아마도 가장 유용한/필요)
  • 파일 크기 최적화 할 수 있습니다
4

오래 전 플로피 디스크에 맞춰야하기 때문에 가능한 한 작게 프로그램을 만들려고했습니다 (예, 저는 공룡입니다). 이 스플리터 도구는 델파이로 작성되었으며 크기는 약 50KB입니다.

이 크기를 줄이려면 많은 델파이 유닛이 필요합니다 (특히 Forms 유닛과 이에 대한 참조가있는 모든 유닛). 유일한 방법은 Windows 용 API를 GUI 용으로 직접 사용하는 것이 었습니다. 요즘에는 이런 이유를 생각할 수 없지만 관심이 없습니다.

VCL을 사용하자마자 EXE 크기가 커지면 코드의 모든 마이크로 최적화가 함께 줄어들 것입니다.

관련 문제