|
C MAGAZINE のページ setbcc のところより コマンドラインオプションわかる。
BCC5.5 は厳格に文法検査する!
15:52 C:\Borland\BCC55\Bin> bcc32 -WD -P- \Windows\temp\dll1.c
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
\Windows\temp\dll1.c:
警告 W8057 \Windows\temp\dll1.c 29: パラメータ 'hDLLInst' は一度も使用されない(
関数 LiblMain )
警告 W8057 \Windows\temp\dll1.c 29: パラメータ 'lpvReserved' は一度も使用されな
い(関数 LiblMain )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
/* -P- ?? Cコンパイルの指定をしてもC++コンパイル的厳格さ */
#include <windows.h>
char* WINAPI __declspec(dllexport) MySub(char* format,int inint)
{
static char sz[99];
FARPROC sprintf ;
HINSTANCE hrt= LoadLibrary("MSVCRT.DLL"); // EXIST ?
if( NULL == hrt ) return "MSVCRT.DLL load error !";
sprintf = GetProcAddress( hrt, "sprintf");
if( NULL == sprintf ) return "sprintf ?";
// 関数の typedef をしないとX。
((int(__cdecl *)(char*,char*,int)) sprintf)(sz,format,inint);
FreeLibrary( hrt );
return sz;
}
BOOL WINAPI __declspec(dllexport) LibMain(HINSTANCE hDLLInst, DWORD fdwReaso
n, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
case DLL_PROCESS_DETACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
// -------------------------------------------------
>__END__
|
|