C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[8402] Re:[질문]Use RTL 체크 옵션을 없앨 경우
박지훈.임프 [cbuilder] 1216 읽음    2001-06-22 02:41
임펠리테리입니다.

Use dynamic RTL 옵션을 선택하고 말고에 따라 메모리 소모량이 차이가 나는 것은, 이 dynamic RTL 이라는
게 이름 그대로 dll이기 때문입니다.
dll을 사용하는 경우에는 그 실행파일을 실행할 때 dll을 함께 끌고 메모리에 로드되게 됩니다.
당근 메모리 소요량은 실행파일+dll이지요.
반면 dll을 사용하지 않을 경우, 그 dll에 포함된 코드들 중 현재 프로그램에 필요한 부분만 정적으로 실행
파일에 링크됩니다. 그래서 실행파일 자체는 조금 더 커져도 dll을 로드하지 않기 때문에 전체 메모리 소요량은
더 적어지지요.
이 dynamic RTL을 이용하는 이점이 나타나는 것은, 두개 이상의 모듈이 같은 dll을 사용할 경우입니다.
dll은 기본적으로는(아닐 경우도 있습니다) 두번째 호출 부터는 메모리 소요량은 똑같이 많아보이지만
실제로는 첫번째로 로드된 인스턴스를 매핑만 하므로 메모리를 소요하지 않습니다.
결론적으로, 프로젝트가 상당히 커서 각각의 실행파일이나 dll 등으로 나누었을 경우, 각각의 모듈들이
몽땅 정적으로 링크되었다면 실제 메모리 소요량은 모듈 수만큼 비례해서 증가할 것입니다.
이럴 때에 dll 링크를 사용하면 하나의 dll 인스턴스를 모두 공유하므로 메모리를 많이 아낄 수 있습니다.
이같은 점은 런타임 패키지를 이용할 때도 동일합니다.

두번째..
제 기억이 정확한지는 모르겠습니다만, 델파이의 경우 Use dynamic RTL 옵션이 없습니다. 항상 정적으로
링크하게 되지요. 위와 같은 이유로 해서 메모리가 더 적게 쓰이는 듯 하구요.
또 같은 조건을 맞추어준다고 하더라도, 아무래도 오브젝트 파스칼과 C++은 다른 언어이므로 약간의 차이는
있을 수 있습니다. 컴파일 속도와 컴파일된 바이너리코드의 최적화율에 대해서는 예전 도스시절부터 파스칼이
C에 비해 약간 우위에 있었던 것도 사실입니다.

그럼 이만...


초보 님이 쓰신 글 :
: 안녕하세요. 질문이 있는데엽
:
: Use RTL 체크 옵션을 없앤뒤에 다시 컴파일을 했습니당..
:
:
: 그러니까 실행파일이 Run Time Library를 사용할 경우는
:
: 메모리를 무려 8-9 MegaBytes나 잡아 먹더니,
:
: RTL 체크를 없앤뒤 하니까 6 MegaBytes로 줄었군요..
:
:
: 음 어떤 차이점인지 모르겠네엽..
:
:
:
: 글구 두번째는 Delphi5를 구해서 한번 기본 폼을 컴파일하였더니
:
: 2메가의 메모리를 잡아먹더군엽...오. 그리고 엄청난 컴파일 속도와..흑.
:
:
: C++ Builder로 기본 폼을 컴파일 했습니다만,
:
: 무려 4.6메가의 메모리를 기본적으로 잡아먹으며 그리고 엄청난 속도의 컴파일로
:
: 컴파일 되더군요...흑.
:
:
: 이건 어떻게 해결해야하는지영??

+ -

관련 글 리스트
8380 [질문]Use RTL 체크 옵션을 없앨 경우 초보 1043 2001/06/21
8402     Re:[질문]Use RTL 체크 옵션을 없앨 경우 박지훈.임프 1216 2001/06/22
8405         Re:Re:[질문]Use RTL 체크 옵션을 없앨 경우 초보 1003 2001/06/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.