[c++] Compiler Warum "compiled" jeder anderst >_>
#1
geschrieben 07. Juni 2005 - 19:09
bin nu wirklich etwas genervt von der C++ Compiler Sache ....
In der Schule nutzen wir Borland 5.02 (or so ..) nunja .. das ding is uralt ...
Zuhause habe ich Dev-C++ weil es mir empfohlen wurde und es eben kostenlos ist.
Leider funktioniert mein Dev-C++ Code kein Stück in Borland und umgekehrt ... es scheint so als Nutzen beide teilweise ganze andere Sprachelemente...
Also wie bitte soll ich "Regelkonform" C++ programmieren wenn jeder Compiler die Sache anderst sieht?
Hab ich da irgendwas falsch verstanden und was sind denn eure Tipps zum C++ Compiler (und Editor ^^)
Gruß,
Sin
Anzeige
#2
geschrieben 07. Juni 2005 - 21:18
Probier doch mal den C++ Compiler von GNU (ist in der GNU Compiler Collection dabei, wird normalerweise mit g++ abgekürzt). Wenn du mit Windows entwickelst, ist die Installation nicht ganz so einfach wie unter einem echten Unixoiden wie z.B. Linux.
Erste Anlaufstelle: http://gcc.gnu.org
GCC mit Unix-abhängigkeiten: http://www.mingw.org
Gute Englischkenntnisse und Durchhaltevermögen beim Durchlesen der Dokumentation sind ein Muss. Wenn du beides nicht mitbringst, ist der GNU C++ Compiler, zumindest unter Windows, nix für dich. Alternativ zu mingw könntest du auch Cygwin verwenden. Cygwin ist eine DLL für Windows, die Windows sozusagen Posix-kompatibel macht (ohoh, verlasst euch nicht drauf was ich zu cygwin sag, ich habs mir nur mal ganz kurz angeschaut). Über das Setupprogramm lassen sich viele Programme - u.a. die GCC - gleich installieren. Ich vermut mal schwer, dass die Installation mit Cygwin einfacher ist, du aber den Binärcode dann nicht einfach auf einem Windows-PC ohne Cygwin laufen lassen kannst (aber auch das muss nicht stimmen).
Grüsse,
mo
#3
geschrieben 08. Juni 2005 - 12:02
Wie soll ich eine Programmiersprache lernen wenn bei jedem Compiler eine andere Syntax hermuss ... ;/
#4
geschrieben 08. Juni 2005 - 17:24
Wenn du ANSI C++ kannst, solltest du dich eigentlich überall durchschlagen können. Verschiedene _Implementationen_ der Bibliotheken bedeuten ja nicht Zwangsläufig andere Namensgebung. Imho haben die meisten Programmieranfänger in C++ beim Compilerwechsel eher Probleme damit, mit den unterschiedlichen Namespace-konventionen klarzukommen. Wer sich aber von vornhinein streng an die Namespaces hält (sprich auch STD namespace zB angibt, zB STD::cout << "lala"; statt cout << "lala"; bzw. die namespaces setzt) hat wenig Probleme
#5
geschrieben 08. Juni 2005 - 20:30
Bei Borland -> <conio.h> und ich kann clrscr(); nutzen ...
wenn ich das bei Dev-C++ eingebe gibts nur Fehler .. ich denke er hat vielleicht nichtmal die conio.h bibliothek -> was macht man bei sowas Oo?
#6
geschrieben 08. Juni 2005 - 21:11
das Problem wurd aber glaub ich schon mal hier besprochen; eventuell mal die Suchfunktion ausprobieren.
#7
geschrieben 09. August 2005 - 11:20
Wenn du C "Richtig" lernen willst wirst du wohl auf den nicht ganz so kompfortabelen GNU Compiler nutzen wie mo bereits geschrieben hat.
#8
geschrieben 22. August 2005 - 11:56
#9
geschrieben 22. August 2005 - 13:05
#10
geschrieben 22. August 2005 - 15:07
in dieser teilweise doch sehr hilfreichen hilfe der borland ide, gibt es u.a. auch einen eintrag für die bibliothek dos.h.
in dieser bibliothek dos.h ist eine funktion delay(). diese wird in der hilfe sogar mit code beispiel erklärt.
ausprobieren ist aber fehlanzeige: in meiner dos.h ist delay nicht definiert.
das verwenden dieses befehles für also beim compilieren zu fehlern.
es gibt einen deklarations eintrag (kann man das so nenen, also es ist nicht defniert über define !) aber mittels define wird diese funktion nicht bekannt gemacht.
nachholen von hand ging bei mir auch nicht glatt. nun kennt der compiler zwar die funktion, im programm selber hatte dies aber keine auswirkung.
fand das schon krass das man die beispiele aus der hilfe nicht verwenden kann...
des weiteren schein mir da eh jeder so sein eigenes süppchen zu kochen.
Standard befehle gehen bei jedem compiler den ich bisher in den händen hatte, aber selbst da hängen sich manche auf.
in c++ dem borland compiler bekant zu machen er soll mit namespaces arbeiten endet bei mir immer mit einer fehlermeldung.
schön wars.
ciao
Dieser Beitrag wurde von tosto bearbeitet: 22. August 2005 - 15:07
#11
geschrieben 23. August 2005 - 19:05
Drum, wenn du was programmieren willst, dann solltest du drauf achten nur Bibliotheken des ANSI Standard verwendest oder eben damit rechnen, dass nicht alles auf dem anderen Compiler läuft. Du kannst auch mit ifdef (
#if defined(__BORLANDC__) || defined(__BCPLUSPLUS__))prüfen je nachdem welcher Compiler verwendet wird und dann halt darin den Code anpassen.
#12
geschrieben 11. September 2005 - 15:34
Ich vermisse z.b. einfache Funktionen wie wait() oder sowas .. also um kurz zu warten..
;/
Und nutze immernoch Dev C++
#13
geschrieben 11. September 2005 - 18:31
int ms=100;//Millisekunden
sleep(ms);
#14
geschrieben 18. September 2005 - 16:07
kleines Beispiel, wo Borland 5 versagt:
#include<iostream>
using namespace std;
int main()
{
cout<<"Hallo World"<<endl;
return 0;
}
oder sogar hier versagt er
#include<iostream>
int main()
{
std::cout<<"Hallo World"<<std::endl;
return 0;
}
Mit Dev-C++ kenn ich mich net aus.
Mit dem Befehl clrscr(); hier ein Lösungsvorschlag:
void clrscr(void)
{
system("cls");
}
MfG
Sepultura
Boykottiert JAPAN
#15
geschrieben 18. September 2005 - 22:33
Zitat
Das ist auch kein Wunder, denn Borland C++ 5.0 stammt aus dem Jahre 1996 der Ansi C++ Standard wurde aber erst 1998 ins Leben gerufen:-)
Also da ich glaube, dass die Borland Entwickler keine Hellseher waren ist es auch normal, dass sie in der 5.0er Version noch keinen Standard implementieren konnten, den es da noch nicht gab.
Und in der 5.5er Version wird das was du gerade an Code vorgeführt hast problemlos laufen :-)

Hilfe
Neues Thema
Antworten
Nach oben


