参照ってC++にしかないよね? なんて思っていたら、どうもWindowsでは参照もポインタも同じようにコンパイルされてしまうらしいのです。
そこでテストコード。DLL側はポインタで引数を受け取るようにします。これを呼び出し側で参照引数で呼び出して見ます。
DLL側
//dllimpl.c
#include
#include
#include
int APIENTRY DllMain(HINSTANCE hInst,ULONG ulReason,LPVOID lpReserved){
//警告回避
(void)hInst;
(void)lpReserved;
//初期化
switch(ulReason){
case DLL_PROCESS_ATTACH:
srand((unsigned)time(NULL));break;
}
return TRUE;
}
__declspec(dllexport) void __stdcall CreateRandomNumber(int* result){
if(result!=NULL)*result = rand();
}