반응형

cdecl 2

[Delphi] 동적 DLL 호출 방법

다음은 동적(Static) DLL로 구현 되어져 있다. 정적(Static) DLL 이란? 본래의 DLL이라기 보다는 코드의 큰 함수들을 따로 모듈별로 분리 했다가 실행 시 함께 처리한다. 동적(Dynamic) DLL(런타임 로딩) 이란 ? DLL은 GetProcAddress라는 API를 사용하여 필요에 따라 첨가하고 필요에 따라 해제시킬 수 있다. DLL 소스 및 정적 DLL 호출 방법은 다음 글을 참고 하기 바란다. 2010/04/27 - [Language/Delphi] - [Delphi] DLL 호출 규칙(Calling Convention) 테스트용 DLL 및 Source 다음 소스는 Delphi 2010에서 제작 되었으나 기본 사용법은 동일하다. 1: unit UB_Main_DynDLL; 2: 3:..

[Delphi] DLL 호출 규칙(Calling Convention) 테스트용 DLL 및 Source

DLL호출 규칙에 대하여 먼저 언급하고자 한다. Delphi는 다른 랭귀지에서 사용된 함수들을 쉽게 호출 할 수 있도록 여러 가지 호출 규칙을 가진다. 아래와 같이 5가지 방법이 있다. Register(__fastcall) : 레지스터에 등록하여 호출하는 방식 stdcall(__stdcall) : 가장 일반적으로 활용하는 방식으로 윈도우 표준 cdecl(__cdecl) : 가변인자가 있는 경우 pascal(__pascal) : Delphi 최적화 코드를 생성하고자 할 때 스택으로 인자를 저장하는 방식보다는 레지스터를 경유하여 속도 향상 safecall : OLE 방식에서 이용 참고 : http://www.delmadang.com/community/bbs_view.asp?bbsNo=3&bbsCat=42&i..

반응형