Programowanie w języku C/C++ » FAQ

Detekcja systemu

  • 2007-01-24 13:00
  • 0 komentarzy
  • 814 odsłon
  • Oceń ten tekst jako pierwszy
Konstrukcja jest wbrew pozorom bardzo prosta, na dodatek definicja SYSTEM jest predefiniowana i nie trzba jej definiować programie. Kod najlepiej wkleić przed "#include". Oczywiście w poszcególnych słownikach są funkcje wykonywane w zależności od systemu. Dzięki temu możemy stworzyć aplikacje wieloplatformową.Uwaga: wielokrotna definicja HDR może powodować wywołanie WARNING'a ale nie należy się tym przejmować. Oto kod:

if SYSTEM==SYSV
  define hdr "SYSV.h"
else if SYSTEM==MSDOS
  define hdr "MSDOS.h"
else if SYSTEM==UNIX
  define hdr "UNIX.h"
endif


W razie problemów piszcie!

Inne opisane "makra" pre-procesora sa na stronie:
http://predef.sourceforge.net/

Opisane tam makra zawierają:
Makra standardowe.
Makra systemów operacyjnych ( jak w/w ).
Makra kompilatorów.
Makra bibliotek.
Makra platform operacyjnych.