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);
}