PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : g++



buchwaldj
07-01-2004, 15:52
Irgenwas mache ich falsch.
Ich hatte bis jetzt meine Programme über KDevelop kompiliert, jetzt wollte ich es mal mit dem g++ probieren:

g++ -o program main.cpp

Als ausgabe kommen 2 Warnungen, die bei KDevelop auch immer kommen und dann ist er fertig. Es wurden bloß keine binären Programme erzeugt, warum?

peschmae
07-01-2004, 15:57
Meine Kristallkugel ist nicht in Reparatur - nein, ich hab keine.

Sollte eigentlich gehen so.

Poste mal das Prog. Solltest du noch was Linken? Was sind das für Meldungen? etc

MfG Peschmä

buchwaldj
07-01-2004, 16:01
Das sind die Ausgaben:

main.cpp: In function `int main(int, char **)':
main.cpp:253: integer constant out of range
main.cpp:253: warning: decimal integer constant is so large that it is unsigned

In main.cpp werden noch 2 headerdateien mit #include eingefügt.

wraith
07-01-2004, 16:22
Original geschrieben von buchwaldj

main.cpp:253: integer constant out of range
main.cpp:253: warning: decimal integer constant is so large that it is unsigned

D.h du hast in deinem QC z.b sowas stehen


int i = 3000000000;

Die Zahl passt nicht in einem signed int rein,daher wird sie implizit in unsigned gewandelt.
Weil du das nicht explizit angibst mit U


int i = 3000000000U;

warnt dich der Compiler,das er das implizit angenommen hat.

Aber die Warnungen sind kein Grund,keine binary zuerstellen.

buchwaldj
07-01-2004, 16:48
Ich habe jetzt die Zeilen auskommentiert und es funktioniert.
Dieser lange Zahl(tm = 2137500000000000000) ist vom Typ double.
Wie kann ich sie darstellen damit keine Warnung kommt? Zehnerpotenz(wie?)?
Welche g++ Parameter benutzt KDevelop wenn es solche Warnungen ignoriert?

wraith
07-01-2004, 17:00
Original geschrieben von buchwaldj

Dieser lange Zahl(tm = 2137500000000000000) ist vom Typ double.

Also,wenn es ein double sein soll,dann pack ein .0 dahinter.
2137500000000000000.0

buchwaldj
07-01-2004, 18:05
Oh, ich dachte g++ ist dazu intelligent genug, dies zu ergänzen, wenn es notwendig ist.
Vielen Dank!