창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


창조 팁
- '창조' 에 관한 팁을 올리는 곳입니다. 다수의 이미지가 필요하시면 아래 '이미지 자료실' 에 업로드 후 불러와 주세요..


LIST ALL
Posted by 황현석2004-10-30 06:37:13, Hit : 6779
[팁] 실행파일 용량을 확실하게 줄이자!
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=tip&no=216
조금전 실행파일 용량이 다른거에 비해 상당히(?) 크다는 것을 알았습니다.
( Byte수로 따진다면 텍스트 문서 몇장이죠 ㅡㅡ; )

그나마 용량을 줄일수있는 방법을 알아내고야 말았어요! ^^
지금 이 시대에 실행파일 용량이 무슨상관이냐? 하시는 분도 계시겠지만,
상관있습니다요...
첫째, 실행파일용량이 클수 록 로딩시간도 그만큼 오래걸립니다.
둘째, 다른 제작툴(?)로 10메가 정도의 프로그램을 만들었다고하면
        창조에서는 10메가가 아닌 20메가가 훨씬 넘어설 수 있습니다.
        자세히는 모르지만, 실행시 메모리부하가 걸리겠죠? ㅡㅡ; 실행이 안될수도...
셋째, 지금까지 어떤한 프로그램도 용량이 크게되면 실행파일 하나로 사용하지 않습니다.
        즉, 여러개로 나눠서 사용한다는 것이지요. 실행 또는 필요시 나눠진 파일들을 읽어들이고요.

더군다나 창조로 만들어진 실행파일은 그 유명한 UPX로도 압축이 안됩니다.
지원이 안된다는거죠...^^

누가보면 창조탄핵하는 것처럼 보겠네 ㅠ.ㅠ; 절대 오해입니다 ㅠ.ㅠ;
창조 사랑하는 마음으로 ^^ 헤헤~

아따...그 자식...거참 말 되게 많네... 간단하게 팁이나 내놓지... ㅡㅡ;;;;;;;;;;;;;;;;

쉽게 못 내놓죠 ^^ㅋ

그나저나 결론은 실행파일 용량을 줄이는 방법...이미 많은 분들이 알고계실지 모르겠지만,
자료실에서 몇가지의 자료를 받아본바...아직까지 모르는 분들이 많다는 느낌이 확~ 와 닫더군요.

힌트.
1. 소스 작성시 최대한 반복되는 작업을 최소화하라. (반복되는 긴 코드?는 사용자함수로)
    -> 이건 다 아시죠? ^^ㅋ

2. 중복되는 객체들을 많이 사용하지마라.(시계, 버튼, 밑판, 그룹박스등)
    -> 밑판, 그룹박스는 디자인시 사용되지만, 너무 많이 사용하게되면,
         속도저하와 실행파일 용량은 크게 불어난다.
         시계 : 시계1과 시계2를 연동해서 사용하는 분들이 많은데,
                  이것 역시 진리의 참, 거짓으로 시계 2개를 사용할걸 1개로 줄일 수 있다.
         버튼 : 같은 작업시 버튼 2개로 연동하는경우가 있다. (예: 재생, 정지)
              -> "만일(버튼.제목="재생") 아니면{}"으로 할 수 있다.

3. 비공개소스의 공개용 실행파일의 경우 주석은 제외하고 컴파일하자.
   (주석처리된 소스는 백업하고, 주석을 제외하고 컴파일)

4. 비밀...^^ 나중에 공개하도록 하겠습니다. ㅋㅋ
   힌트는 3번항에 있습니다. 이미 눈치 채신분도 계실테고,
   이미 사용하고 계신분도 계실테고, 알지만 그냥 하시는분도 계시겠지만,
   나중에 글 올릴게요 ^^ㅋ 돌 날라올라 ㅠ.ㅠ ㅌㅌㅌ


ps. 내가 봐도 말 더티하게 많네 ㅠ.ㅠ 죄송합니다...ㅡㅡ;

황현석   2004-10-30 AM 6:39:31  
그나저나 실행파일 용량이 확연히 차이나는군요...흐흐 ^^
몇가지 더 테스트하고 정답 글 올리도록 하겠습니다 ^^;
세죠위그이   2004-10-30 AM 6:54:07  
변수나 함수의 이름을 영어로 짧게한다던가.. ^^;
황현석   2004-10-30 AM 7:19:12  
아...맞다.. 그것도 있었네요 ^^ 그러나 그것이 아닙니다.
저의 비밀은 나중에...^^ 함수,변수짧게..
사용된 변수는 문:="", 수:=0;으로 초기화하고
다른 곳에서 사용하는것도 무방하지요...
ps.이진백   2004-10-30 AM 8:44:20  
창조는 아마 제 생각에… 왕창 uses 한 듯합니다.
델파이에서 지원하는 "필요할 때마다 연결 소스 참조"가 아닌.
무조건 모두 읽어들여 실행파일에 저장하나보죠.

그러니까… a.pas에 abc라는 함수를 쓰기 위해
uses a; 뭐 이런 식으로 실행파일에 첨가하는데…
여러 함수를 지원하기 위해 그냥 다 실행파일에 다 넣나봅니다.
지상현   2004-10-30 PM 3:14:36  
네, 엄청 많이 썼더군요...
하긴 그럴 수 밖에 없었을 겁니다. 필요한 기능만 쓰려면 머리를 더 써서 일종의 lib (정적 연결 라이브러리)과 같은 방식으로 짰다면(제가 열심히 연구중인 방법) 필요한 기능 부분만 exe에 넣을 수 있으므로 크기가 줄어들겠죠...
VB나 델파이, MSVC++의 경우, dll 을 이용하는 방법을 사용하기 때문에 실행 파일 크기는 줄지만 부가적인 dll이 필요하게 됩니다.
델파이나 VC++의 경우 dll 대신 lib을 사용하는 설정이 있긴 하지만요...
지상현   2004-10-30 PM 3:16:53  
그런데 3번 같은 경우는 창조나 젬젬의 경우에만 해당되는 이야기일듯... 원래는 주석을 모두 제외하고 컴파일하는데...
저 도구들은 주석까지 모두 합쳐 넣더군요...아니 아예 소스 자체를 그대로 넣는 것 같습니다. 일종의 암호화를 거치긴 하지만...
최재일   2004-10-30 PM 5:59:29  
실행파일 용량을 줄이는 것이 중요하긴 하지만,
변수명을 짧게 하면 이게 어디에 쓰이는 변수인지 헛갈릴텐데요..
그리고 창조는 주석까지 포함해서 컴파일하다니 좀 문제가 있긴 한것 같아요..
대박로또도 복잡한 알고리즘 부분에는 주석을 달아 낳지만,
버전업시 다시보면 한참 봐야 이해가 된다는.. ;;
그래서 복잡한 알고리즘 부분은 순서도로 그려놓으려 합니다..
그래서 버전업시 그 순서도를 수정해가면서 하면 정말 편리할듯 해서요.. ㅎㅎㅎ
말하다 삼천포로 빠졌넹.. ㅡㅡ^
그리고, 그림파일을 쓸때도 그림파일을 프로그램안에 직접 포함안시키고 실행시 로드하도록 하면 용량이 확 줄지요~~!!
황현석   2004-10-30 PM 10:59:19  
최재일님 3번항의 괄호안에 "주석처리된 소스는 백업하고, 주석을 제외하고 컴파일" 요거 못보셨나봐요 ^^; 제 말은 실행파일을 만들어 공개할때는 주석문이라든지, 변수명...기타등등...을 짧게 해서 컴파일하면 그만큼 용량이 줄어들고, 작업할때는 다시 백업해놓은소스로 하는게 낳다는 말입니다 ^^; 긴 변수명을 짧게 바꾸는건 찾아바꾸기를 이용하면 더더욱 편리하지요.^^;
최재일   2004-10-31 PM 5:51:40  
훔.. 현석님 말처럼 주석 제거하고 컴파일해봐야겠네요..
알고는 있었지만 귀차니즘 때문에 걍 컴파일했었는데... ;;
최재일   2004-10-31 PM 6:10:07  
대박로또에서 주석제거하니 1,232kb -> 1,228kb... 4kb 줄었네요..ㅡㅡ;;
그리고, 소스 자체에 포함된 그림파일을 모두 지우고 실행시 로드하도록 수정하니 871kb네염..
역쉬 그림파일 용량은 어쩔 수 없군요..
ps.이진백   2004-10-31 PM 7:58:22  
델파이에서 폼 코드를 열어보면 아시겠지만...
미리 그림을 넣은채 컴파일하면 헥스 값으로 다 들어있어서 그 만큼 용량은 늘어날 수 밖에 없습니다.
이지행[세죠위그이]   2004-11-14 PM 10:56:37  
--- 4번 항목 언제 공개해요? -_-;;
지상현   2004-11-23 PM 8:57:03  
그림은 가능한 jpg 같은 작은 포맷을 쓰는게 좋겠죠...지원된다면. 하지만 jpg 같은 경우 속도를 희생해야 한다는 -_-;
라랄라   2004-11-23 PM 10:29:11  
실행화일은 upx 나, 다른 exe압축 프로그램으로 하면 되지 않을까요 ㅋㅋㅋ
위자드   2004-11-23 PM 11:24:17  
창조로 만든 exe는 압축이 안돼요~
(오래전에 결론났던 이야기 인데;;)
자유창조   2005-01-26 PM 2:36:11  
아 맞닷 -_-;;
사용자 함수!
qkrwhdgns   2005-08-22 PM 3:37:48  
ASPack 인가..?.. 암튼.. 그걸로.. 실행파일 압축했는데..
압축이.. 되더군요.. 용량도.. 줄고.. 그런데.. 실행이.. 안되는;;
창조 EXE 압축되는 프로그램은.. 없는 것인가..?..
지상현   2005-08-22 PM 4:13:34  
창조 프로그램의 실행 원리를 깨달으시면 불가능한 사실이라는 것을 아시게 됩니다 +_+
qkrwhdgns   2005-11-13 AM 11:25:00  
실행원리가 뭐지?;;
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
342
   FTP 관련 한 API 들.. [2]
김진영 2009/04/04  11521
341
   어떤방법으로든 핸들[Handle]를 구해보자! [수정#3] [18]
박종훈 2006/12/31  10059
340
   [활용]그림판 사진 합성 방법 [1]
권선중 2003/12/26  8583
339
   작업표시줄에서 프로그램 완전히 숨기기! [1]
지상현 2006/06/06  8292
338
   오토런 AUTORUN 만들기 CD 구어서 자신만의 프로그램.. [4]
SJsoft.inc 2002/12/13  8064
337
   VB - 창조 명령어 비교(?) [2]
박종훈 2006/02/15  7872
336
   숫자만 입력되는 에디트[Numeric Editbox] [6]
박종훈 2006/10/15  7497
335
    메모리 확보 유틸의 기능 분석 [1]
Pueding 2002/09/08  7477
334
   [ㅎ메모] 단어구분[자동줄바꿈] 속성에 주의하자! [5]
박종훈 2006/08/10  7399
333
   최근 열어본 문서 지우기... [4]
박종훈 2006/04/29  7100
332
   XP 루나 인터페이스 사용하기 [0.7도 가능] [12]
지상현 2003/02/26  6975
331
   [팁!] 넥슨 게임 광고 제거 하자! [5]
위자드 2004/07/26  6910
330
   16진→2진→10진 알고리즘. [2]
Anonymous 2002/09/17  6859
329
   창조에서 음수를 사용할 때 주의하자! [1]
지상현 2005/10/08  6814

   [팁] 실행파일 용량을 확실하게 줄이자! [19]
황현석 2004/10/30  6779
327
   잡다한 명령어들..;;;;
김진영 2002/12/22  6764
326
   리스트박스 가지고 놀기! [5]
지상현 2006/05/27  6594
325
   XP처럼, 암호를 * 대신 ● 로 표시하기 ㅋ [3]
박종훈 2006/07/25  6490
324
   [CELK] 창조로 간단한 신호 보내기 [1]
지상현 2006/07/11  6449
323
   [팁]창조로 만든 프로그램에서 윈도우의 열려있는 모든 창을 ... [8]
김환욱 2002/10/29  6445
322
   [대박!] 메모리 사용률 확! 줄여보자 ㅋ [5]
박종훈 2006/08/12  6339
321
   Manifest 파일을 만들면, 생기는 변화!
박종훈 2006/12/17  6335
320
   확실한 시스템/윈도우/임시 폴더 알아오기 [6]
지상현 2005/10/28  6313
319
   Window Message 상수값들 -_-; [3]
박종훈 2006/03/15  6307
318
   [TIP] 창조 0.9의 그림판 투명창을 깔끔하게 만들기 [3]
권선중 2005/03/08  6300
LIST ALL   1 [2][3][4][5][6][7][8][9][10]..[14] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인