본문 바로가기
프로그래밍 놀이터/Tips

[최적화] 메모리를 절약하는 프로그래밍 기법.

by 돼지왕 왕돼지 2012. 2. 29.
반응형



1. 
DLL ( Dynamic Link Library ) 파일로 함수를 공유
  - static link 보다 효율적 & DLL 변경시 참조하는 exe의 변화 필요 없음.


2. _stdcall 호출을 통해 프로그램의 크기 줄인다. ( C언어 )
  _stdcall 을 붙여주면, stack 의 clear-up 을 caller 가 아닌 callee 가 수행한다. ( default 는 caller )
  자주 부르는 함수의 경우는 callee 가 clear-up 하는 것이 더 효율적이다.

  ex) int myFunc( int a ) --> int _stdcall myFunc( int a ) 로 수정.
         _stdcall 이 없을 경우에는 caller 에서 함수호출 후 clear-up 코드가 지속적으로 추가되기 때문에
        용량이 커지지만, _stdcall 이 있는 경우는 한 함수에 clear-up 코드가 있어 용량을 줄일 수 있다.


cf )  _cdecl 은 cdeclare 의 약자로, 일반적인 함수 정의는 _cdecl 이 생략된 형태
      _fastcall 은 스택 대신 register 를 사용하기 때문에 속도가 빠릅니다. clear-up 은 _stdcall과 마찬가지.


로그인 없이 추천 가능합니다. 손가락 꾸욱~

반응형

댓글