Q&A

  • 팩키지에 추가된 컴포넌트가 파일 크기를 증가시키나요 ?
이런경우는 어떤가요 ?

기존에 있는 패키지에 새로운 컴포넌트를 추가 등록했습니다.
그런대 그 컴포넌트를 프로그램에서 사용은 하지 않고 uses 에 들어 있기만 하다면 실제 프로그램의 크기에 영향을 미치나요 ?
아니면 uses 에 넣지 않았다면 실제 프로그램에 영향을 미치지 않나요 ?

궁금한것은 단지 패키지에 포함되어 있다는 것이 프로그램의 크기를 증가시키는가 입니다.

그런데, 만일 패키지를 별도로 분리해서 생성하게 한다면 그때는 또 크기가 어떤가요 ?
3  COMMENTS
  • Profile
    착한천사 2007.01.29 03:12
    착한천사 김경록입니다.
    install package의 옵션을 보시면
    각 컴포넌트들에 대해서 사용여부를 checkbox로 표기해 놓았을 것입니다.
    만약, 실행파일에 사용하지 않는 package들이 있다면
    check를 해제하시고 build 해보십시오..
    또한, runtime package의 옵션에 checkbox가 있는데
    check를 해제했을때와 아닐때의 exe file size를 비교해 보시면
    간접적인 답변이 되시리라 생각합니다.







  • Profile
    이은주 2007.01.31 20:02
    답변 감사합니다.
    사실 제가 궁금해 하는 이유는 많음 컴포넌트들을 내장하고사용하고 있는데 이것들을 일일이 옵션 지정해서 컴파일 하기가 어려워서 입니다.
    그래서 컴파일시 자동으로 알아서 사용되지  않는 컴포넌트들은 빠지는지가 궁금했던 것입니다.
    실제 사용되지 않는 팩키지의 경우는 팩키지에서 체크를 하지 않아도 크기가 줄기는 하더군요.


  • Profile
    착한천사 2007.02.02 01:48
    착한천사 김경록입니다.
    질문한 요점은 EXE의 size에 관한 것이었던것 같습니다.
    제가 말씀드리려 했던 간접적인 요점은..

    runtime package를 runtime시 포함하느냐 안하느냐..
    design package를 build시에 포함하느냐 안하느냐의 문제로써
    check문제를 드렸던 겁니다.

    각설하구요..
    Compile될 Language의 특성이 조금 상이하기는 하지만..
    중요한 요점이 있습니다.
    이는 Object의 재활용이라는 것인데..
    이것은 C/C++ 이전부터.. 예를 들면, Cobol이나 basic때부터 나왔던 것으로
    Compiler는 이런 점을 탈피하지 못한 것 같습니다.

    일단, Compiler가 compile시 source에 기재되어진
    Object 혹은 function, procedure가 있는지 확인하는데
    이 Object/Function/Procedure가 다른 Source에 있다면
    해당되는 부분을 발췌(정확히 말하면 Copy)하여 사용하게 됩니다..

    이런것을 위한 것이 uses절이나.. C/C++ 에서와 같이 include 문 같은 것이죠..

    여기서 Compile complete가 되면 Building을 하게 되는데..
    Building시 EXE의 실제 Size가 결정된다 할 수 있겠습니다.

    꼬집어서 이야기 하면, 다른 source에 있는 것을 재활용하기 위해서
    발췌(copy)를 하고, 그 size만큼 binary size가 증가하게 되는 것입니다.

    이것을 간접적으로 증명하는 것이..
    Object.property 혹은 Object.function등등과 같이 "."을 찍어 소속을 알려주는 것이죠..
    물론, Function/Procedure만 선언한 source가 있고..
    이 Function 이름이 중첩된다면 source파일명.function명 혹은 변수
    등등으로 사용하죠..

    이런것으로도 간접적으로 Size에 대한 답변이 되지 않을까요?
    이런 Compile의 특성은
    Compiler의 전단계인 Parsing Algorithm을 가진 Yacc이라는 중간 Compiler를 보면 알 수 있습니다.
    (yacc은 리눅스에서 쉽게 볼 수 있고.. 오토마토론이나 컴파일러 제작등등에 관한 서적을 보면 알 수 있죠..)

    어쨌든, EXE Size는 Object의 재활용측면으로 인하여 재활용된 것의 Size만큼
    증가한다고 보시면 되겠습니다.

    쓸데없이 길어졌군요..
    죄송합니다.
    (ps. 설명하다보면 저는 항상 길어지는군요.. 왜 그런지.. 고질병같군요..)

    약간은 이해가 되셨는지..
    괜히 더 혼동을 일으키실지 모르겠네요..





    • 최용일
      2007.01.31 01:05
      안녕하세요. 최용일입니다. 매우 심각한 문제군요... 일반적인 해결법은 한줄한줄 디버깅하시는 수밖에 ...
    • 박성준
      2007.01.30 20:47
      하위버전하고 큰 차이가 없다고 하던데 하위버전을 구해보시기를... /사/천/팔/백/만/국/민/모/두/가/...
    • 이하나
    • 2007.01.30 18:25
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박성준
      2007.01.30 20:35
      1시간을 찾아보고 해봤는데... 맞는지 모르겠네요. 이렇게 질문올리시는것 자체가 초보티를 벗는다는거......
    • 이하나
      2007.01.30 22:47
      우선 답변감사드려요,.^^* Tstringlist.Create; 부분은 추가되어 있는 상황이었는데 제가 질문을 잘...
    • 송 시중
      2007.01.31 04:32
      지난번 엄청난 리플을 만드셨던(?) 무한 메모리 문제때 보니 소켓을 free한 후에 값을 읽어오더군요. (정...
    • 박성준
      2007.01.31 00:57
      다시 질문해주세요 ^^*
    • 박성준
      2007.01.30 09:12
      요즘 검색해보니 X-Internet이 유망세인 추세인것 같네요. ^^ X-Internet쪽을 공부해보심이... sybase...
    • 용하운
    • 2007.01.30 04:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성준
      2007.01.30 06:45
      검색하는 습관을 먼저 기르시는것이... ^^;; http://www.delphi.co.kr/zboard/view.php?id=qanda&page=1&s...
    • 박형일
    • 2007.01.30 04:43
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박성준
      2007.01.30 09:00
      에러내용으로 봐선 무슨말인지 잘 모르겠네요. 제 나름대로 해석해보면, stream을 UTF-8로 전송할시 부정...
    • 박형일
      2007.01.30 19:24
      죄송해요. 개념이 탑재가 덜 되었나 봅니다. 우선 프로그램은 XMLPartner에 달려나오는 EXmlPro라는 Demo ...
    • 박성준
      2007.01.30 20:45
      아닙니다. 답변 드린다고 깝죽댄 제가 잘못이죠. ^^;; 그런데, 소스로 쓴 xml문서파일은 어디있죠? /...
    • 박형일
      2007.01.31 01:05
      첨부합니다. 너무 번거롭게 해 드리네요.
    • 용하운
    • 2007.01.30 01:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성준
      2007.01.30 02:46
      공개적으로 소프트웨어를 공개하여 같이 공유하고, 개발해나가는 sourceforge.net에서 자료가 있네요(델...
    • 송준헌
      2007.01.30 01:20
      자답입니다. MoveWindow 함수를 사용하니 아주 잘 이동을 하네여... 그럼.. 다른 프로그램들의 버튼은 ...
    • 박성준
      2007.01.30 02:30
      말씀하신 질문댓글에 대한 내용을 간단한 샘플로 구성해 보았습니다. 참고하시길... /사/천/만/국/민/...
    • 김홍기
    • 2007.01.30 00:56
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박정훈
      2007.01.30 21:21
      옛날에 그 문제로 고민을 좀 많이 했던 사람입니다.. ^ㅡ^;; 해답은 의외로 간단한데 있더군요 굳이 델파...
    • 박성준
      2007.01.30 01:42
      http://www.delmadang.com/cwb-bin/CrazyWWWBoard.exe?db=dmdqa&mode=read&num=131480&page=1&backdepth=1
    • 김홍기
      2007.01.30 02:05
      ㅎㅎ 약간 허무하네요. 아무튼 덕분에 다른 방법을 모색하게 되었습니다.
    • 박성준
      2007.01.30 02:29
      답변은 아니었지만... 님의 진전을 위해서 이렇게 답변을 드렸습니다. /사/천/만/국/민/이/성/공/하/는...
    • 정경철
      2007.01.29 22:31
      퀵레포트에서 사용자 용지로 설정하구요... 윈도우가 XP 라면... 프린터 설정에 가서.. Server 라고 있는...
    • 생각을실천으로
      2007.01.29 23:04
      답변 감사드립니다. ^^ 부족한점이 많아서 한가지만 더 질문드리겠습니다. 그런데 영수증크기에서 wi...
    • 박성준
      2007.01.29 23:17
      유동적이라 자동으로 데이터의 크기에 맞게 바뀌어지지 않나요? ^^
    • HEIM(델파리)
      2007.02.02 00:31
      결국 자문 자답을 하게 되었네요. 해당 폼내부에 잘못된 프로펄티 값이 인식되어 있더군요. 32bit에서 ...
    • 박성준
      2007.01.29 23:27
      제가 알기론 RLINK32 ERROR는 동적으로 폼을 구성할때 (예) 이미지컴포넌트를 폼에 올려놓고, 크기가 큰 ...
    • 최광희
    • 2007.01.29 00:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2007.01.29 03:04
      착한천사 김경록입니다. syntax 문제를 물어보시는 것 같습니다. [A] 영역에서 변수type을 선언하고 변수...
    • 정경철
    • 2007.01.27 18:38
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이은주
    • 2007.01.27 08:12
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2007.01.29 03:12
      착한천사 김경록입니다. install package의 옵션을 보시면 각 컴포넌트들에 대해서 사용여부를 checkbox...
    • 이은주
      2007.01.31 20:02
      답변 감사합니다. 사실 제가 궁금해 하는 이유는 많음 컴포넌트들을 내장하고사용하고 있는데 이것들을 일...
    • 착한천사
      2007.02.02 01:48
      착한천사 김경록입니다. 질문한 요점은 EXE의 size에 관한 것이었던것 같습니다. 제가 말씀드리려 했던 ...
    • 양선호
    • 2007.01.26 03:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성준
      2007.01.26 04:07
      답변이 맞을지 모르겠지만 URL : http://www.delmadang.com/cwb-bin/CrazyWWWBoard.exe?db=dmdqa&mode=rea...
    • 박성준
      2007.01.26 04:00
      코딩으로 하실이유가 꼭 있나요? 다음 자료를 찾았는데, 참고하시길...
    • 생각을실천으로
      2007.01.26 05:23
      답변 감사드립니다 ^^ 코딩으로 한 이유는 Report툴을 잘 못쓰겠더라구요. 그래서 코딩을 한건데... ㅎ...
    • 박성준
      2007.01.26 09:12
      레포트툴이 필요하시면 http://www.cyworld.com/popo8402에 놀러오셔서 방명록에 글 남겨주시면, 제가 ...
    • SKY
    • 2007.01.25 23:52
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박성준
      2007.01.26 01:51
      안녕하세요? HIDKomponete라는것을 사용해보세요 ^^ 설치후 DEMOS-Delphi-IO-WarriorDemo를 참조하시면 ...
    • 마이크로김
      2007.02.04 00:10
      usb 도 시러얼 포트로 인식되기 때문에 그냥 시리얼 포트 open 해서 사용하시면 됩니다.
    • 도깨비
    • 2010.07.28 18:57
    • 0 COMMENTS
    • /
    • 0 LIKES
    • sulonge
    • 2007.01.25 20:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • HEIM(델파리)
      2007.01.29 22:32
      간단하게 말씀드릴께요. COPY : 해당 스트링값을 복사하라는 함수. PT := COPY(PT,0,NUM) : PT라는 스트...
    • 박성준
      2007.01.26 01:34
      참고하세요. Returns a substring of a string or a segment of a dynamic array. Unit System ...