» »

[C/C++] ifdef

[C/C++] ifdef

BigWhale ::

No, se ena zadeva...

Kako vse compilerju, v tem primeru gcc podati define ob prevajanju?

#ifdef LINUX
int bla = 10;
#elif defined(HPUX)
int bla = 200;
#elif defined(AIX)
int bla = 400;
#endif

Med prevajanjem gccju podam parameter -DLINUX a on meni vztrajno vraca bla = 200;
  • spremenil: BigWhale ()

BigWhale ::

Nekje se mora en define not podturit... Vprasanje kje... Hec je v tem, da tudi -U ne pomaga...

BigWhale ::

#ifdef LINUX
#undef HPUX
#endif

Tole je pomagalo, samo to sucks...

Tilen ::

Zelo rad bi pomagal ampak... :\
413120536c6f76656e696a612c20642e642e

Sergio ::

sam kaj fali undefanju? tko samo vprasam :)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

BigWhale ::

Hja, ker ni prav... ker je b0rken! Mislim, ker bi mi moral ze -DLINUX pri compilanju resit stvar ampak je ne.. stupid precompiler gre v #ifdef HPUX

in jasno imam errorjev ko solate...

Ker bi moral tale undef notri vrzt v precej filetkov... pa mi nekako ni...

Sergio ::

a ne mores potem v vseh fajlih enostavno includat novega .h fajla kjer ifdefas pa undefas tako kot je treba?

:)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Vesoljc ::

se neki igram zdele z devc++ (gcc 331), pa je res tole rahlo čudno
Abnormal behavior of abnormal brain makes me normal...

BigWhale ::

Sergio, ma lahko to nardim, samo to ni nekak resitev. Sem precesal buglisto od gccja (3.2.2 verzija, plus se nekaj verzij za nazaj in za naprej) pa nic pa tem.

Problem je v tem, da nekako, no vsa stvar je taka, da ce nardim nek mali test, potem stvar dela tako kot bi morala. Vse lepo in prav. V mojem projektu pa ne spila. Medtem ko se make izvaja, ko izpise s cim se klice gcc, je v command line-u samo -DLINUX nic drugega, ce dam zraven se -UHPUX, torej undefine, zadeva ne dela.

Torej mi mora ta HPUX nekje drugje not prilomastit.

Vprasanje je kje... Zdaj izvajam en tak masiven grep preko cele kode... output bom pa 'parsal' potem na roke se cel dan... :/

Pa vprasanje ce bom nasel napako, tega se najbolj bojim...

BigWhale ::

En include od neke blesave knjiznice za internacionalizacijo je vseboval:

#ifndef HPUX
#define HPUX
#endif

Prav mi je, kaj pa traparije pocnem. :/

CCfly ::

V teh letih bi pa že lahko vedel da moraš vedno pisati:
#define BIGWHALE_DONT_TOUCH_BASTARDS_HPUX
"My goodness, we forgot generics!" -- Danny Kalev


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C++] Preverjanje ce je program dos ali win32

Oddelek: Programiranje
211379 (1035) BigWhale
»

[C] random do poljubne številke

Oddelek: Programiranje
172133 (1800) napsy
»

[C/C++] unsigned long lala = -1;

Oddelek: Programiranje
51140 (1099) Vesoljc
»

[visual c++] #ifdef _DEBUG

Oddelek: Programiranje
51077 (1018) Vesoljc
»

Unicode

Oddelek: Programiranje
81283 (1174) Vesoljc

Več podobnih tem