erzeuger.c: In function `main':
erzeuger.c:33: warning: large integer implicitly truncated to unsigned type
kommt aber nach dem kompilieren. anscheinend ist ihm die BUFSIZE von 1024 zu gross fuer ein unsigned char :] - soll man es dann einfach auf die maximalgroesse von 255 (?) setzen?
Das hab ich gemacht. Trotzdem krieg ich bei der Kompilation die gleiche Fehlermeldung wie Steppenwolf. Anscheinend schaut der Compiler nicht auf die if-Abfrage. Denn wenn ich mein BUFSIZE auf 1024 setz und im Erzeuger
Richtig vermutet, es ist zwar der Praeprozessor der das if nicht beachtet und dann dem Compiler was liefert, was dem nicht so ganz schmeckt aber da liegt die Ursache der Fehlermeldung.
ok, nochmal ganz langsam, hier passiert folgendes:
Der gcc faengst an mit dem Praeprozessor, dabei werden alle Sachen die mit #define BLA wertvonbla definiert wurde textuell ersetzt, also wirklich statt BUFSIZE 1024 hingeschrieben, das wird dann dem Compiler uebergeben.
Der Compiler ‚sieht‘ jetzt ein settings.c_cc[VMIN] = 1024 und warnt, dass da eine Fehlermoeglichkeit liegen koennte, so intelligent, dass oben ja dieser Fall ausgeschlossen wird ist der Compiler nicht.
Eine einfache Lsg waer hier das casten, ein Kommentar, warum man den ganzen Spass macht waere hier dann angebracht.