Das Buch ANSI C



  • Richtig. Das macht es meiner Meinung aber nicht besser. Wer C lernen will muss auch lernen einen C-Compiler zu benutzen. Sonst geht es irgendwann schief.



  • Tim schrieb:

    Richtig. Das macht es meiner Meinung aber nicht besser. Wer C lernen will muss auch lernen einen C-Compiler zu benutzen. Sonst geht es irgendwann schief.

    Ok, da gebe ich Dir recht, Standard ist Standard. Aber wenn ich hier in den Bücher-Archiven meiner Firma blättere scheinen es alle anderen Autoren nicht anders mit dem casten von malloc zu machen. Viele weißen nicht mal darauf hin (mal abgesehen vom K&R). Eben nach dem Motto, die Masse nutzt eh keine C-Compiler mehr und so geht man am Besten den Fragern nach Warnungen beim Übersetzen aus dem weg 😉

    Viele Grüße
    Rooney



  • Na moment mal, also jeder bessere C++ Compiler kann ja wohl auch im C Modus betrieben werden und die Standardeinstellung ist, dass er das an der Dateiendung festmacht. War jedenfalls früher so, als noch alles besser war.



  • Rooney schrieb:

    Eben nach dem Motto, die Masse nutzt eh keine C-Compiler mehr und so geht man am Besten den Fragern nach Warnungen beim Übersetzen aus dem weg 😉

    was benutzt die masse? GCC oder MSVC nehme ich an. beide können C code verspeisen, auch ohne type-cast vor 'malloc'. man muss die quelltexte nur als .c auszeichnen und nicht als .cpp. ich glaube, wer malloc castet, weiss nur einfach nicht, dass das nicht gut ist.
    🙂



  • SeppSchrot schrieb:

    War jedenfalls früher so, als noch alles besser war.

    Ich schenk dir noch ein "Ack" und ein tm 😉



  • Undertaker schrieb:

    Rooney schrieb:

    Eben nach dem Motto, die Masse nutzt eh keine C-Compiler mehr und so geht man am Besten den Fragern nach Warnungen beim Übersetzen aus dem weg 😉

    was benutzt die masse? GCC oder MSVC nehme ich an. beide können C code verspeisen, auch ohne type-cast vor 'malloc'. man muss die quelltexte nur als .c auszeichnen und nicht als .cpp. ich glaube, wer malloc castet, weiss nur einfach nicht, dass das nicht gut ist.
    🙂

    du hast schon Recht, aber die "Masse" ist entweder zu blöd oder zu faul (zumindest die MSVC Masse), die .c Dateien zu benutzen. Viele Neulingen wissen nicht einmal davon. Von daher finde ich schon in Ordnung, dass man z.B. bei der Erklärung von malloc() darauf hinweist, dass man unter C kein cast braucht, aber unter C++ und dass viele IDEs heute automatisch nur .cpp Dateien erzeugen und bla bla...

    Undertaker schrieb:

    Tim schrieb:

    Vielleicht können wir (als Kritiker) dann konkretere und konstruktivere Kritik an ihn weiterleiten...

    vielleicht sollte http://www.c-plusplus.net/forum/viewforum-var-f-is-10.html selber mal ein C-buch herausgeben. es gibt doch einige fähige leute hier, supertux, Tim, rüdiger,... die das hinbekommen könnten.
    dann braucht sich der jürgen w. nicht mehr damit herumzuärgern.
    🙂

    Das ist mal eine interessante Idee. Ich habe vor ein Paar Monaten angefangen mein eigenes C OpenBook zu schreiben, aber nach ein Paar Wochen habe ich damit aufgegeben, weil es einfach zu viel Zeit gekostet hat und wenn man nebenher arbeitet, studiert und noch täglich Sport betreibt, ist es echt schwer, etwas vernünftiges auf die Beine zu stellen.



  • Undertaker schrieb:

    ich glaube, wer malloc castet, weiss nur einfach nicht, dass das nicht gut ist.:)

    Warum ist das nicht gut? J.Wolf schreibt ja das man in C nicht casten muss, aber das es auch nicht falsch ist, wenn ich es richtig verstanden habe. Somit umgeht er die Warnmeldungen wenn unter C++ kompiliert wird. Das wäre selbstverständlich nur dann in Ordnung wenn es unter reinem C nicht schlimm wäre den void* zu casten. Ich bin leider noch ziemlicher Anfänger, darum die Frage an die Fachwelt hier.

    Gruß Chris



  • guckst du: http://www.faqs.org/faqs/C-faq/faq/
    section 7, absatz 7
    🙂



  • Also um eventuell wichtige Warnings nicht zu vertuschen, sollte man den void* nicht casten.

    So richtig?



  • justchris schrieb:

    Also um eventuell wichtige Warnings nicht zu vertuschen, sollte man den void* nicht casten.
    So richtig?

    genau, und weil es absolut sinnlos ist.
    🙂



  • Um noch mal auf's Thema zurück zu kommen, und da das Forum in absehbarer Zeit wohl kein perfektes Buch herausgeben will/kann, welches Buch oder besser noch Online-Medium ist für das weitere Lernen von C geeignet/zu empfehlen, wenn ein gewisses Grundgerüst bereits angelegt ist ?

    PS Fehlerfreie Quellen erwünscht.


Anmelden zum Antworten