他モジュールにおいて定義される外部関数の型は、明示的に記載しなければなりません。
明示的に記載しない場合、コンパイル時・ビルド時またはプログラム実行時にエラーを招きます。
外部オブジェクトを記載する時、#importを使ってモジュール名を記載して下さい。
サンプルソース:
#import "user32.dll"
int MessageBoxW(int hWnd ,string szText,string szCaption,int nType);
#import "lib.ex4"
double round(double value);
#import
インポートにより、外部DLLまたはコンパイルされたex4ライブラリから関数を簡単に呼ぶ事が出来ます。
ex4ライブラリはコンパイルされたex4ファイルです。
それは
ライブラリプロパティを持っています。
export修飾子で書かれた関数だけが、ex4ライブラリからインポート出来ます。
dllとex4ライブラリを覚えておく必要があります。
dllとex4ライブラリを一緒にインポートする場合、異なる名前にする必要があります。
インポートされた関数の全ては、ライブラリのファイル名と一致するスコープ定義を持ちます。
同じ名前の関数を使う事は曖昧さを引き起こします。
関数呼び出しの曖昧さを避ける為に、常に明示的に
スコープ定義演算子を使って関数を指定して下さい。
サンプルソース:
#import "kernel32.dll"
int GetLastError();
#import "lib.ex4"
int GetLastError();
#import
int OnInit(){
Print(kernel32::GetLastError());
Print(lib::GetLastError());
return 0;
}