C++程序  |  41行  |  1001 B

/*
 * This is compile-time test for situation below not happen.
 * STLport use many defines and auxilary structures, namespaces and templates
 * that included via _prolog.h. After preprocessor phase we may see:
 *
 * extern "C" {
 *
 * namespace std { }
 *
 *
 * This is bad, but acceptable. But in STLPORT_DEBUG mode we can see
 *
 * extern "C" {
 *
 * namespace std {
 * namespace private {
 *
 * template <class _Dummy>
 * class __stl_debug_engine {
 *
 * 
 * This lead to compile-time error.
 * [This due to sys/types.h contains
 *
 *  __BEGIN_DECLS
 *  #include <bits/types.h>
 *
 * 
 * i.e. include other headers within extern "C" { scope. Bad, but this is fact.]
 *
 * Origin of problem: STLport provide proxy-headers as for C++ headers, as for C
 * headers. For C headers, we shouldn't expose C++ constructions, because system
 * headers may include each other by unexpected way (from STLport point of view).
 *
 *           - ptr, 2007-04-05
 */

#ifdef __unix
# include <sys/types.h>
#endif