Platform.h File Reference

This file detects used compiler and platform and defines macros that customize compilation. More...


Defines

#define GAL_SYNTAX_INTL
 This macro is defined when Intel C++ compiler is detected. It is used to handle compiler specific syntax.
#define GAL_SYNTAX_MSVC
 This macro is defined when Microsoft C/C++ compiler is detected. It is used to handle compiler specific syntax.
#define GAL_SYNTAX_GNUC
 This macro is defined when GNU G++ compiler is detected. It is used to handle compiler specific syntax.
#define GAL_PLATFORM_WIN
 This macro is defined when Windows operating system is detected. It is used to handle operating system specifica calls.
#define GAL_PLATFORM_NIX
 This macro is defined when Unix-like operating system (Linux, Mac OS X, BSD) is detected. It is used to handle operating system specifica calls.
#define GAL_PLATFORM_MACOS
 This macro is defined when Mac OS X operating system is detected. It is used to handle operating system specifica calls.
#define GAL_STL_EXT_MSVC
 This macro is defined when Microsoft STL extensions are detected. It is used to handle different STD extensions.
#define GAL_STL_EXT_GNUC
 This macro is defined when GNU STL extensions are detected. It is used to handle different STD extensions..
#define GAL_STL_EXT_DMC
 This macro is defined when STLport (Digital Mars) STL extensions are detected. It is used to handle different STD extensions..
#define APICALL
 Defines calling convention used by run-time environment and operating system API. On all supported systems and compilers this macro is set to cdecl.
#define GACALL
 Defines calling convention used by GAL. On all supported systems and compilers except Intel C++ compiler on Linux and Mac OS this macro is set to fastcall. Intel C++ compiler on Linux and Mac OS this macro is set to cdecl.
#define GAL_API
 This macro marks function/methods or global variable as exported symbol when building library. When it used from another project which use the library it marks function/method or global variable as imported symbol. It should only be specified in function/method declaration, not in definition. This macro is set to nothing on all systems except on Windows.
#define GAL_API_EXPORTING
 This macro is defined when the library is compiled. This macro is not defined for projects that imports the library.


Detailed Description

This file detects used compiler and platform and defines macros that customize compilation.


Define Documentation

#define APICALL

Defines calling convention used by run-time environment and operating system API. On all supported systems and compilers this macro is set to cdecl.

#define GACALL

Defines calling convention used by GAL. On all supported systems and compilers except Intel C++ compiler on Linux and Mac OS this macro is set to fastcall. Intel C++ compiler on Linux and Mac OS this macro is set to cdecl.

#define GAL_API

This macro marks function/methods or global variable as exported symbol when building library. When it used from another project which use the library it marks function/method or global variable as imported symbol. It should only be specified in function/method declaration, not in definition. This macro is set to nothing on all systems except on Windows.

#define GAL_API_EXPORTING

This macro is defined when the library is compiled. This macro is not defined for projects that imports the library.

#define GAL_PLATFORM_MACOS

This macro is defined when Mac OS X operating system is detected. It is used to handle operating system specifica calls.

#define GAL_PLATFORM_NIX

This macro is defined when Unix-like operating system (Linux, Mac OS X, BSD) is detected. It is used to handle operating system specifica calls.

#define GAL_PLATFORM_WIN

This macro is defined when Windows operating system is detected. It is used to handle operating system specifica calls.

#define GAL_STL_EXT_DMC

This macro is defined when STLport (Digital Mars) STL extensions are detected. It is used to handle different STD extensions..

#define GAL_STL_EXT_GNUC

This macro is defined when GNU STL extensions are detected. It is used to handle different STD extensions..

#define GAL_STL_EXT_MSVC

This macro is defined when Microsoft STL extensions are detected. It is used to handle different STD extensions.

#define GAL_SYNTAX_GNUC

This macro is defined when GNU G++ compiler is detected. It is used to handle compiler specific syntax.

#define GAL_SYNTAX_INTL

This macro is defined when Intel C++ compiler is detected. It is used to handle compiler specific syntax.

#define GAL_SYNTAX_MSVC

This macro is defined when Microsoft C/C++ compiler is detected. It is used to handle compiler specific syntax.


Genetic Algorithm Library
Coolsoft Software Development