That typically encloses
DLL
's exported functions.
You should know,
C
Language and
C++
one use different approach to function's
name mangling (i.e. altering the name of the funtion in object -or library- files), more specifically,
C++
includes in the
mangled (or
decorated) name info about the function argument types (this allows, function overloads, a
C++
feature, not available in
C
language).
The mechanism allows the same header to be used by both the
C
and
C++
compiler (
__cpluspls
macro is defined only by the
C++
one) and works this way:
The
C
compiler, ignores the
extern "C"
(
__cplusplus
is not defined) directive both when building the
DLL
and when including the
DLL
header inside an application.
The
C++
compiler, according with the
extern "C"
(
__cplusplus
is defined) directive:
- Produces a standard
C DLL
(i.e. the function use the C
language mangling scheme) when building th DLL
. - consider the library as a
C DLL
when the header is included in a application (you know C++
compiler is able to link with C
libraries).
BTW: please don't post your question both int the
C++/MFC
forum and here.
:)