C言語なら俺に聞け(入門篇) Part 29
■ このスレッドは過去ログ倉庫に格納されています
0419デフォルトの名無しさん
2008/06/06(金) 14:14:51MinGWとVC++でDLL連携をしようと思って下記みたいなソース書いたんだ。
GeoOpen関数に「1」を渡してるのに
返ってくる値は何故か「63」。
printfで出力される値も「63」。
なんぞこれー
DLL作成側cpp(MinGW)
extern "C" __declspec(dllexport) int __stdcall GeoOpen(string strLicence, string strGeoDBDir, string strNormalize, int intA) {
printf("%u", intA);
return intA;
}
DLL呼び出し側cpp(VC++)
// GeoOpen関数のポインタ取得
GEOOPEN geoOpen = (GEOOPEN)GetProcAddress(hGEOCODERDLL, "GeoOpen@16");
int testInt = 1;
// GeoOpen関数のポインタ取得成功
if (geoOpen != NULL)
{
// GeoOpen関数呼び出し
int intRes = (*geoOpen)(strLicence, strGeoDBDir, strGeoDBDir, testInt);
}
■ このスレッドは過去ログ倉庫に格納されています