Mmh, ich hätte eigentlich gedacht, als Anfänger will man C++ lernen und nicht, wie man mit nem Compiler umgeht^^ Nein im Ernst: Ich finde, das Code::Blocks zum normalen Programmieren völlig ausreicht. Und was verstehst du unter "gewisse Compilerschalter"? Ich hab bis jetzt nur zwei Sachen eingestellt, und das war auch noch nicht mal nötig: -Wall und -pedantic -- Simon
Mag ja vielleicht nur meine Sicht sein, aber ich finde wenn man eine Sprache lernt, dann sollte man auch lernen wie der Compiler funktioniert und zu bedienen ist, dauert 5 min, hilft aber doch das ganze zu verstehen. Sagt ja keiner das man auf ne IDE verzichten soll, man sollte halt nur auch wissen was die IDE alles für einen tut.
Da stimme ich Blubber voll und ganz zu. Zur Sprache gehört eben auch der Compiler - und der Linker. Auch wenn meistens beides in einem Aufruf gemacht wird ist es wichtig, wenn man mal näher mit einsteigt. Die ganzen Probleme von wegen welche lib muss ich mitlinken und auch wieso und den Unterschied zwischen Compiler und Linker Error führen nur auf das Unwissen dieser Programme zurück. -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
Kleiner Tipp: Versuchs mal anderst herum - du wirst jede Fehlermeldung besser verstehen. Und auch, wie du dein Projekt besser aufteilst - mehrere Dateien, gesondert kompilieren, eine eigene dynamische Bibliothek daraus erzeugen und und und. -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
Das lernt man aber eben nicht in 5 min. Abgesehen davon: ich hab mir das schon vor einer Weile angesehen, aber das mit "gesondert kompilieren", was tobias auch letztens irgendwo gefragt hat, hab ich noch nie kapiert, und was ist eine dynamische Bibiliothek? -- Simon
Unter Windows kennst du bestimmt die DLL Dateien (dynamic linked library) und unter Linux eine .so. Siehe mein FAQ Artikel
Das ist wirklich nicht viel Arbeit. Ne halbe Stunde und man hat das drauf -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
Naja nicht ganz in 5 min, aber es erspart dir an andere Stelle vermutlich dann doch einiges an Zeit bei der Fehlersuche.
Eine dynamische Bibilothek wird zur Laufzeit geladen, unter Windows heissen die Dinge DLL's(Dynamic linked library), heisst also der Code ist nicht komplett in der Exe versteckt sondern wird eben zur Laufzeit geladen.
Ob IDE oder erst mit Compiler beschäftigen besser ist würde ich eher davon abhängig machen welche Auffasungsgabe, Frustrationstolleranz und Vorwissen jemand hat. Zunächst mal ist es ja Ziel eines Anfängers überhaupt was zum laufen zu bringen und nicht unebdingt akademsich über den Sinn eines Compilers zu philosophieren, wei sinnvoll das auch immer ist -- ...fleißig wie zwei Weißbrote