Project / Makefile Settings: Symbol Definitions

Introduction  
 

This section describes compile-time symbol definitions used by the MPI library.

MPI_DECL1/MPI_DECL2

These symbols are used in library header files to handle compiler-specific language extensions when declaring external functions and data; in particular, those extensions used when making Win32 dynamic link libraries (DLLs). MPI_DECL1 precedes the return type of a function declaration; MPI_DECL2 follows the return type and precedes the function name:

	MPI_DECL1 long MPI_DECL2 mpiModuleFunction();
When building an application or the MPI library for Win32 platforms (Windows 95/NT), the following symbol definitions should be used:
MPI_DECL1=__declspec(dllexport)
	MPI_DECL2=__stdcall
 

MEI_ASSERT

When defined, MEI_ASSERT will cause calls to the macro meiASSERT(expression) to be compiled into the library. Otherwise, these calls will be discarded by the preprocessor.

The meiASSERT(...) macro is used by the library and is available to applications. It is a valuable debugging tool that can be used to catch programming errors at their source and prevent them from spreading. If the argument to the macro is TRUE (i.e. non-zero), execution proceeds normally. Otherwise, an error message is displayed; the message contains the name of the file and the line number of the meiASSERT(...) call. The application exits after displaying the message.

The MEI_ASSERT symbol should generally be defined except for when library size must be as small as possible and application execution speed must be as fast as possible.

 

MEI_PLATFORM

The MEI_PLATFORM symbols are used to indicate the platform for which the library and applications are built. Each platform has its own unique symbol.

Currently supported platforms:

MEI_PLATFORM_WIN95 Microsoft Windows 95
MEI_PLATFORM_WINNT Microsoft Windows NT
MEI_PLATFORM_WINRTSS VenturComm WinNT RealTime SubSystem
Currently supported platforms; however, platform- and version-specific (contact MEI for details):
MEI_PLATFORM_LYNXOS Real-Time Systems LynxOS
MEI_PLATFORM_QNX Quantum Software Systems
QNX MEI_PLATFORM_VXWORKS WindRiver Systems VxWorks
Potentially supported platforms:
MEI_PLATFORM_DOS Microsoft DOS
MEI_PLATFORM_IRMX Intel iRMX
MEI_PLATFORM_OS9 Microware OS-9
MEI_PLATFORM_PSOS Integrated Systems pSOS
MEI_PLATFORM_VRTX Microtec Research
VRTX MEI_PLATFORM_WIN31 Microsoft Windows 3.1
Note: Existence of an MEI_PLATFORM symbol for a potentially supported platform does not imply intent to support that platform.