Threads!
-
Shit - "Stromausfall" beim Schreiben hat meinen letzten Post zunichte gemacht, also nochmal:
Original erstellt von kingruedi:
außerdem kann std::string ziemlich genial implementiert werden, so dass es für n gleiche Strings nur 1 Kopie im Speicher gibt!Aber nur bei singlethreaded Anwendungen.
Außerdem sind die Container Klassen super praktisch und Templates generell!
Ja, auch so unscheinbare Dinge wie vernünftige "const"s sind recht praktisch; und den Vorteil der Verwendung von Klassen wird wohl auch niemand leugnen...
Dennnoch: Der größte Teil des Linux-Kernels ist wirklich schön - perfekt dokumentiert, kleine spezialisierte Funktionen, aussagekräftige Namen; sowas liest sich einfach wie von selbst wenn man an den "richtigen" Stellen beginnt.
(Obwohl ein LinuxKernel im "schönen standardisierten" Java sicher noch besser wäre... :p)
-
const gibt es auch in C :p
-
Original erstellt von kingruedi:
const gibt es auch in C :pJa aber ziemlich verstümmelt, darum habe ich auch geschrieben "vernünftige consts".
-
Was ist an denen schlecht?
-
Naja, zB sowas:
temp.c
int main(void) { const int size = 16; int anArray[size]; return 0; }
nman: ~ > gcc -o /dev/null -ansi -pedantic temp.c temp.c: In function `main': temp.c:4: warning: ANSI C forbids variable-size array `anArray' nman: ~ >
-
-ansi prüft wohl nach dem alten C89 Standard. Benutz lieber -std=c99
-
Oh, das wusste ich nicht; ich programmiere so gut wie nie in C.
Allerdings erkennt mein gcc -std=c99 nicht:nman: ~ > gcc -o /dev/null -std=c99 -pedantic temp.c cc1: unknown C standard `c99' temp.c: In function `main': temp.c:4: warning: ANSI C forbids variable-size array `anArray' nman: ~ >
Laut info:gcc sollte es zumindest so gehen:
gcc -o /dev/null -std=iso9899:1998 -pedantic temp.c
,das resultiert aber in der gleichen Fehlermeldung...
-
Welche Version hast du den (gcc -v)? Ich würde mal eine neuere installieren
-
*g* Ich brauche keine Compilerausgabe, um zu wissen, dass ich noch immer gcc-2.95.3, (gentoo-revision 8
) habe, ich stelle mein System erst mit KDE-3.1 stable komplett auf gcc3.2 um, immerhin muss ich dann sowieso alles rekompilieren und ich möchte nicht schon wieder ein 3.0.5er KDE kompilieren wenn 3.1 schon so nahe ist...
Aber ich dachte, dass auch der 2.95er gcc C99 kann, der ist immerhin 1999 rausgekommen und C99-Drafts hats damals auch schon gegeben, oder?
-
wahrscheinlich unterstützt der noch nicht alle Features so gut. gcc 3x lohnt sich auf jeden Fall!
-
Original erstellt von kingruedi:
wahrscheinlich unterstützt der noch nicht alle Features so gut. gcc 3x lohnt sich auf jeden Fall!Eh, ich freu mich ja auch schon ziemlich drauf, schon alleine wegen der besseren Einhaltung des ISO-C++-Standards und der tollen Optimierung, aber momentan habe ich leider keine Zeit, alle Fehler zu beheben, die beim "emerge -e world" wahrscheinlich auftreten werden...