__STDC__ a strncmp()
Cejka Rudolf
cejkar na kazi.dcse.fee.vutbr.cz
Pátek Únor 11 18:51:41 CET 2000
Jan Kasprzak <kas na informatics.muni.cz> wrote:
> nevite nekdo, jaka makra musi uzivatel definovat, pokud pozaduje
> prostredi kompatibilni s POSIXem? Napriklad na Linuxu pri
Pro POSIX je _POSIX_SOURCE (verze je v _POSIX_C_SOURCE).
Pro XOPEN je _XOPEN_SOURCE (verze je v _XOPEN_VERSION).
> #include <string.h> bez jakychkoli dalsich definic mam k dispozici
> prototyp funkce strncmp(). Na Solarisu ne a v /usr/include/string.h
> je tento prototyp spolu s dalsimi ohranicen v #ifdef __STDC__.
O jakou verzi Solarisu se jedna? O jaky kompilator se jedna?
Pro preklad pomoci gcc 2.95.2 nebo pro preklad pomoci cc WS5.0 na
Solarisu 7 nic specialniho delat nemusim a prototyp strncmp() se
definuje sam.
__STDC__ je spis zalezitost kompilatoru nez rucnich definic. Takze
pokud je problem ve __STDC__, mozna by neuskodilo podivat se po jinem
kompilatoru (mimochodem - gcc pro Sparc procesory dokaze sem tam
vygenerovat naprosto nefunkcni kod, takze pozor - obcas se musi
hledat chyba nejdriv v kompilatoru a az pak v programu) nebo jine
verzi OS.
> Co teda mam definovat, abych na vsech systemech mel ve string.h
> prototyp strncmp()?
Definicni soubor pro autoconf - a zkouset a zkouset a zkouset...
A beztak to nebude fungovat.
--
Rudolf Cejka (cejkar na dcse.fee.vutbr.cz; http://www.fee.vutbr.cz/~cejkar)
Brno University of Technology, Faculty of El. Engineering and Comp. Science
Bozetechova 2, 612 66 Brno, Czech Republic
Další informace o konferenci Linux