プロが教える店舗&オフィスのセキュリティ対策術

VC++6.0で簡単なDLL作成にチャレンジしたところ、ソースファイルの最後のところで、エンドオブファイルのエラーが出ます。教本と同じように書いたつもりですが、何処が異なっているのか分かりません。エラーを出す原因となっている箇所を御指摘下さい。

↓ソースファイル
#include "stdafx.h"
#include "SUB.h"

BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

SUB_API LONG _stdcall subtract( LONG sub1 , LONG sub2 )
{
return( sub1 - sub2 );
}

↓ここからはヘッダーファイル
#ifdef SUB_EXPORTS
#define SUB_API __declspec(dllexport)
#else
#define SUB_API __declspec(dllimport)
#endif

#ifdef__cplusplus
extern "C" {
#endif
SUB_API LONG __stdcall subtract( LONG sub1, LONG sub2 );
#ifdef _cplusplus
}
#endif

--------------------構成: SUB - Win32 Debug--------------------
コンパイル中...
StdAfx.cpp
コンパイル中...
SUB.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\SUB\SUB.cpp(38) : error C2059: 構文エラー : 'end of file'
cl.exe の実行エラー

SUB.dll - エラー 1、警告 0

A 回答 (1件)

ヘッダーファイルの最後の部分


二つ目の#ifdef行にタイプミスが見られます。
#ifdef _cplusplus --> #ifdef __cplusplus
    • good
    • 0
この回答へのお礼

自分では見つけられませんでした。有難う御座いました。

お礼日時:2004/11/23 15:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!