외부 함수에 대한 설명
다른 모듈에 정의된 외부 기능은 명시적으로 설명해야 합니다. 설명에는 반환된 유형, 함수 이름 및 입력 매개 변수의 유형이 포함됩니다. 이러한 설명이 없으면 프로그램을 컴파일, 빌드 또는 실행할 때 오류가 발생할 수 있습니다. 외부 개체를 설명할 때 모듈을 나타내는 키워드 #import를 사용합니다.
예제:
#import "user32.dll"
int MessageBoxW(int hWnd ,string szText,string szCaption,int nType);
int SendMessageW(int hWnd,int Msg,int wParam,int lParam);
#import "lib.ex5"
double round(double value);
#import
|
가져오기 기능을 사용하면 외부 DLL 또는 컴파일된 EX5 라이브러리에서 호출되는 기능을 쉽게 설명할 수 있습니다. 라이브러리 속성을 가진 ex5 파일로 컴파일됩니다. EX5 라이브러리에서는 내보내기 한정자로 설명된 함수만 가져올 수 있습니다.
DLL 및 EX5 라이브러리는 함께 가져올 경우 해당 라이브러리가 위치한 디렉토리에 관계없이 서로 다른 이름을 가져야 합니다. 가져온 모든 함수는 라이브러리의 "파일 이름"에 해당하는 범위 지정을 가집니다.
예제:
#import "kernel32.dll"
int GetLastError();
#import "lib.ex5"
int GetLastError();
#import
class CFoo
{
public:
int GetLastError() { return(12345); }
void func()
{
Print(GetLastError()); // class method 호출
Print(::GetLastError()); // MQL5 함수 호출
Print(kernel32::GetLastError()); // kernel32.dll에서 DLL 라이브러리 함수 호출
Print(lib::GetLastError()); // lib.exe5에서 EX5 라이브러리 함수 호출
}
};
void OnStart()
{
CFoo foo;
foo.func();
}
|
더 보기
오버로드, 가상 함수, 다형성