Compiler-Unterschiede

29/08/2015 - 15:40 von Helmut Schellong | Report spam
#if CHAR_MIN != 0
# error "Option -funsigned-char (o.vglb.) fehlt!"
#endif

Vorstehendes funktioniert nicht mit allen Compilern.

unsigned long long U;

if (U < 100000000000000) ;

Vorstehende Konstante wird von einem Compiler
nicht akzeptiert: Wertüberlauf



Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
www.schellong.de www.schellong.com www.schellong.biz
http://www.schellong.de/c.htm
 

Lesen sie die antworten

#1 Thomas Koenig
30/08/2015 - 11:49 | Warnen spam
Helmut Schellong schrieb:

Vorstehendes funktioniert nicht mit allen Compilern.

unsigned long long U;

if (U < 100000000000000) ;

Vorstehende Konstante wird von einem Compiler
nicht akzeptiert: Wertüberlauf



Komisch.

100000000000000 ist kleiner als der minimale Wert für LLONG_MAX,
und seit den Zeiten des Propheten ANSI ist der Typ einer Konstante
der kleinste, in dem die entsprechende Konstante repràsentiert
werden kann. Dein System hat 'long long', daher...

Das ist ein Compilerfehler, da ist eine Fehlermeldung angebracht.

Welcher Compiler ist es denn?

Ähnliche fragen