Het gaat er dus om, om uit te zoeken welke preprocesser definities er onder welk platform geladen worden. In een standaard project van Microsoft Visual C++ wordt netjes WIN32 (en _WINDOWS) gedefinieerd.
In het geval van gcc kun je met 'cpp -dM' zien welke precompiler directives gedefinieerd zijn. Op mijn systeem onder andere unix, __ELF__, __unix__, __unix en __FreeBSD__.
Voor andere compilers of platforms moet je zelf even zoeken in documentatie. Hiermee zou je er toch wel uit moeten kunnen komen.
Trouwens:
Op woensdag 05 juni 2002 12:53 schreef Daniel304 het volgende:
code:
1
2
3
4
5
| #ifdef sun
#include "standard.h"
#else
#include <conio.h>
#endif |
Dit werkt niet. De hekjes moeten altijd het eerste karakter op de regel zijn om herkend te worden door de precompiler. Dit kan wel:
code:
1
2
3
4
5
| #ifdef WIN32
# include <conio.h>
#else
# include "standard.h"
#endif |