#ifndef __GNUC__ mnie dusi
To pytanie może być całkowicie dziwne, obecnie pracuję nad starym kodem (nie ode mnie). Właściwie nie jestem programistą C, ale próbuję zrozumieć, do czego właściwie służy ta część kodu. Na szczęście dziwna część nie jest zbyt długa (część konfiguracji):
int
main ()
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
Jeśli to nie jest kompilator GNU, to "choke me"... co to choke mema znaczyć ... Naprawdę nie rozumiem. (i znalazłem tylko dziwne rzeczy podczas googlowania mnie dusić -.-)
Odpowiedzi
To powinno być po prostu coś, co nie jest poprawne w C i spowoduje błąd składni, uniemożliwiający kompilację pliku.
Prawdopodobnie programista nie chciał, aby kod działał z żadnym kompilatorem poza GNU C (gcc), więc to zmusi kompilację do niepowodzenia, jeśli zostanie użyty inny kompilator. Wybrane słowa nie mają specjalnego znaczenia, poza tym, że „dusić mnie” miało prawdopodobnie znaczenie w znaczeniu „to jest coś, czego kompilator nie może„ przełknąć ”i co go zabije”.
Bardziej nowoczesnym podejściem byłoby użycie #error.
To nieprawidłowa instrukcja, więc spowodowałaby błąd.