|
아제나 님이 쓰신 글 :
: 빌더에서 완성된 실행 파일에서 데이터 영역을 보면,
:
: class, object name이 string으로 존재하는 것을 확인할 수 있는데요.
:
: 물론 빌더 내부에서 FindClass() 같은 함수를 지원하기 위하여 저장하고 있는 것이겠죠..
:
: 하지만 FindClass 같은 함수를 사용하지 않을 경우에는
:
: 데이터 영역이 낭비되는 결과 밖에 초래하지 않는거 같습니다.
:
: 실행 파일도 지저분해지는 기분(?)이 들고요.
:
: 혹시 컴파일 옵션에 Class Name이 남지 않게 하는 방법이 있을까요?
:
이것은 객체지향 이론 중의 하나인 RTTI(RunTime Type Information)를 지원하기 위해서
VCL의 최상위 클래스인 TObject 부터 제공하는 기능입니다.
RTTI는 프로그래머에게 FindClass()와 같은 함수와 같은 기능을 지원하는 것 외에도,
VCL이 내부적으로 사용하고 있는 기능입니다.
C++빌더/델파이는 VCL의 모든 소스 코드를 제공하지만,
TObject의 RTTI 관련 기능을 함부로 수정하면 안될 겁니다.
RTTI는 프로그램 전체의 크기에 비해서는 매우 작은 양의 영역입니다.
크기에 대해서는 무시하셔도 됩니다.
|