Code
DLL c and h file structure.
///////////////////////Header file for your h file//////////////////////////////
#if !defined(_YOURAPPNAME_H__E24224C7_60B7_45F2_B034_1E3E10A6DDDD__INCLUDED_)
#define _YOURAPPNAME_H__E24224C7_60B7_45F2_B034_1E3E10A6DDDD__INCLUDED_
#undef YOURAPPNAME_IMP
#undef YOURAPPNAME_API
#undef YOURAPPNAME_C_API
#ifdef WIN32
#ifdef YOURAPPNAMEIO_BUILD
#pragma message("************************************************")
#pragma message("*YOURAPPNAME_IO header used with _declspec(dllexport)*")
#pragma message("************************************************")
#define YOURAPPNAME_IMP _declspec(dllexport)
#else
#pragma message("************************************************")
#pragma message("*YOURAPPNAME_IO header used with _declspec(dllimport)*")
#pragma message("************************************************")
#define YOURAPPNAME_IMP _declspec(dllimport)
#endif
#define YOURAPPNAME_API _stdcall
#define YOURAPPNAME_C_API YOURAPPNAME_API
#else
#define YOURAPPNAME_IMP
#define YOURAPPNAME_API __export CALLBACK
#define YOURAPPNAME_C_API __export __cdecl
#endif
#ifdef __cplusplus
extern "C"
{ /* Assume C declarations for C++ */
#pragma message(" Building YOURAPPNAME_IO functions with extern C.")
#endif
/*
Utility/Helper functions.
*/
YOURAPPNAME_IMP void YOURAPPNAME_API Say(const char * psMSG,);
#ifdef __cplusplus
}
#endif
#endif //YOURAPPNAME_H__E24224C7_60B7_45F2_B034_1E3E10A6DDDD__INCLUDED_
///////////////////////Implementation for your c code //////////////////////////////////////
#include "windows.h"
#include "YOURHEADERFILENAME.h"
YOURAPPNAME_IMP void YOURAPPNAME_API Say(const char * psMSG)
{
::MessageBox(NULL,psMSG,"Your message says",MB_OK);
}