// プロジェクトの設定で「C/C++」のカテゴリ「コード生成」で // 呼出し規約を__stdcallに、構造体メンバのアライメントを4バイトに、 // また、「リンク」でMAPファイルを生成にチェックして下さい #define DLL_EXPORT __declspec(dllexport) struct Args { short maze[31][21]; short x,y,dir; }; extern "C" { DLL_EXPORT void StepMove(Args* a); } void StepMove(Args* a) { int i,d,x,y,dir[] = {0,1,0,-1}; for (i=0;i<4;++i) { d = (i + a->dir)%4; x = dir[d]; y = dir[(d+3)%4]; if (a->maze[a->x+x][a->y+y] == 0) { a->x += x; a->y += y; a->dir = (d+3)%4; break; } } }