Warum tu ich mich mit C/C++ so schwer?
Adrian
- programmiertechnik
Hallo.
Ich verzweifle. Ich versuche immer wieder mal, C++ zu lernen. Dazu ziehe ich mir Programmcode und verusuche es, zu kompilieren. Als Beispiel nehme ich diesen Quellcode:
root@ubuntu:~# g++ /home/adrian/programmieren/C++/komm.cpp
In Datei, eingefügt von /usr/include/c++/3.3/backward/iostream.h:31,
von /home/adrian/programmieren/C++/komm.cpp:3:
/usr/include/c++/3.3/backward/backward_warning.h:32:2: Warnung: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
Und so in der Art läuft es immer, egal welchen Quellcode ich nehme, egal welchen Kompiler, egal welches OS - es kommen immer unterschiedliche Fehlermeldungen, und es kommt keine ausführbare Datei dabei raus.
Warum tue ich mich damit so schwer? Warum gibt es nicht einfach einen einzigen genormten Compiler, dann würde der Quelltext immer funktionieren.
Danke
Adrian
Hi,
Warum tue ich mich damit so schwer? Warum gibt es nicht einfach einen einzigen genormten Compiler, dann würde der Quelltext immer funktionieren.
war doch nur eine "deprecated-warning", Du solltest mal ein wenig Zeit investieren Dich mit dem Mist anzufreunden.
Gruss,
Ludger
Hallo,
wie siehts denn hiermit aus ?
gruss
Hi, danke für die schnelle Antwort
wie siehts denn hiermit aus ?
root@ubuntu:~# g++ /home/adrian/programmieren/C++/HW_WP.cpp
/home/adrian/programmieren/C++/HW_WP.cpp:7:2: Warnung: Kein Newline am Dateiende
Nach Einfügen einer neuen Zeile am Dateiende:
root@ubuntu:~# g++ /home/adrian/programmieren/C++/HW_WP.cpp
root@ubuntu:~#
Müsste also funktioniert haben, aber wo ist die ausführbare Datei?
Danke nochmals
Adrian
Hi Adrian
root@ubuntu:~# g++ /home/adrian/programmieren/C++/HW_WP.cpp
Auauauaua. Wofür brauchst Du beim Kompilieren Rootrechte?
Müsste also funktioniert haben, aber wo ist die ausführbare Datei?
Da Du keinen Namen angegeben hast, heißt sie a.out
Wie Du einen Namen angibst, steht in der Manpage, die Du dringend lesen solltest.
Gruß,
Maddin
Hi Maddin
root@ubuntu:~# g++ /home/adrian/programmieren/C++/HW_WP.cpp
Auauauaua. Wofür brauchst Du beim Kompilieren Rootrechte?
Oooch, ich bin halt grad root. Aber ich kann das auch als normaler User machen, am Ergebnis ändert das nix.
Müsste also funktioniert haben, aber wo ist die ausführbare Datei?
Da Du keinen Namen angegeben hast, heißt sie a.out
Wie Du einen Namen angibst, steht in der Manpage, die Du dringend lesen solltest.
Jaja, aber *wo* ist die ausführbare Datei?
Danke
Adrian
Hi,
Da Du keinen Namen angegeben hast, heißt sie a.out
Wie Du einen Namen angibst, steht in der Manpage, die Du dringend lesen solltest.Jaja, aber *wo* ist die ausführbare Datei?
Den Namen hast Du gerade bekommen. Wenn Du nicht weißt, wie Du eine Datei mit bekanntem Namen suchen kannst hast Du noch ein gutes Stück Arbeit vor Dir.
so short
Christoph Zurnieden
Hallo Christoph,
Da Du keinen Namen angegeben hast, heißt sie a.out
Wie Du einen Namen angibst, steht in der Manpage, die Du dringend lesen solltest.Jaja, aber *wo* ist die ausführbare Datei?
Den Namen hast Du gerade bekommen. Wenn Du nicht weißt, wie Du eine Datei mit bekanntem Namen suchen kannst hast Du noch ein gutes Stück Arbeit vor Dir.
Und vor allem ist es keine gute Idee, schon dann C++ zu lernen. Ich will ihn nicht demotivieren, oder angreifen. Die Tatsache, dass man die Grundfunktionen eines OS nicht beherrscht bedeutet allerdings meistens eben auch, dass man die Grundkonzepte der darauf laufenden Programmiersprachen nur unzureichend aufnehmen kann. Das Ergebnis sind schlechte und zumeist unsichere Programme. Nein, das heißt ausdrücklich nicht, dass Adrian sich nicht mit der C[++]-Programmierung befassen soll, sondern dass er sich noch ein bisschen mit dem System beschäftigen muss. Das kann auch bedeuten, dass er einige GNU-Tools wie ls oder eben auch find rudimentär nachbaut[1]. Wer von uns hat nicht mit dem zehntausendsten unnützen Texteditor angefangen ;-)
[1] Und mindestens den Quellcode mal anschaut.
Grüße aus Barsinghausen,
Fabian
Hallo Christoph
Den Namen hast Du gerade bekommen. Wenn Du nicht weißt, wie Du eine Datei mit bekanntem Namen suchen kannst hast Du noch ein gutes Stück Arbeit vor Dir.
Jetzt werd ich langsam verrückt. Vorhin gab es wirklich keine Datei "a.out".
Ich habe dann mit Synaptic etwas deinstallieren wollen, und plötzlich deinstallliert mit Synaptic so ziemlich alles, was deinstalliert werden kann (so'n Mist).
Mein erster Schritt: Neuinstallation von Kubuntu. Ich kann soviele Pakete wie deinstalliert worden sind, nicht einfahc manuell ankreuzen und wieder installieren. (nicht schlagen - bitte!)
Jetzt waren die Daten natürlich weg. Also, alles was ich brauche wieder per Synaptic draufspielen. Auch der g++-Compiler ist darunter.
Jetzt habe ich das Kompilieren wieder probiert - und jetzt ist da eine a.out! Komisch, komisch, vorhin war die noch nicht da ...
Zum Glück funktioniert es jetzt. Danke.
Adrian
Hallo,
Jetzt waren die Daten natürlich weg. Also, alles was ich brauche wieder per Synaptic draufspielen. Auch der g++-Compiler ist darunter.
Ich glaube aber trotzdem nicht, dass es irgendwas damit zu tun hat. Ich glaube es war in der Hektik wirklich nur ein Eingabefehler.
P.S Ich bevorzuge ohnehin ein $ gcc -o dateiname dateiname.c (bzw g++)
Markus.
Hallo Adrian,
Jaja, aber *wo* ist die ausführbare Datei?
Im aktuellen Verzeichnis. Beispiel:
christian@midnight ~ $ mkdir cpptest
christian@midnight ~ $ cd cpptest
christian@midnight ~/cpptest $ cat > hello.cpp
#include <iostream>
int main (int argc, char **argv) {
std::cout << "Hello World!\n";
return 0;
}
christian@midnight ~/cpptest $ g++ hello.cpp
christian@midnight ~/cpptest $ ./a.out
Hello World!
christian@midnight ~/cpptest $
Viele Grüße,
Christian
Hallo,
man man, man ls, g++ --help, man google
gruss
Hallo Adrian,
Und so in der Art läuft es immer, egal welchen Quellcode ich nehme, egal welchen Kompiler, egal welches OS - es kommen immer unterschiedliche Fehlermeldungen, und es kommt keine ausführbare Datei dabei raus.
Es sind keine Fehlermeldungen wenn du sie mal Anschaust, sondern (in diesem Fall) Warnungen oder Hinweise. Das hat keinen Einfluss auf die Erstellung der Executable. Dass du keine findest ist ein weiteres Problem, das du am besten mit einem Blick in die Compiler-Dokumentation in Angriff nimmst.
Grüße aus Barsinghausen,
Fabian