Interessantes Projekt um C zu lernen? [closed]

Lesezeit: 3 Minuten

Javiers Benutzeravatar
Javier

Ich habe einige Grundkenntnisse in C (und ein bisschen mehr in C++). Ich habe eine Kopie von K&R und möchte sie verwenden, um mir zu helfen, tiefer in die Sprache einzutauchen. Was ist eine gute Idee, bei der die meisten Funktionen und die Standardbibliothek von C verwendet werden? Welche wichtigen Unterschiede zwischen C89 und C99 sollte ich außerdem beachten?

BEARBEITEN: Vergessen zu erwähnen, dass dies für einen Anfänger meistens machbar sein sollte. Ich bitte nicht um ein Programmier-Tutorial; eher etwas Mittelklasse. Ich verstehe, dass OS-Sachen einer der Hauptzwecke von C ist, aber wäre das nicht zu kompliziert?

Auch das Lesen und Beantworten von Fragen ist immer eine gute Idee, aber ich möchte etwas praktische Übung bekommen, ein Programm machen, das Sachen macht.

Implementieren Sie eine Programmiersprache. Das muss nicht furchtbar schwer sein – ich tat es die Sprache, die nicht genannt werden darf – aber es wird Sie zwingen, viele der wichtigen Teile von C zu lernen. Wenn Sie keinen Lexer und/oder Parser selbst schreiben wollen, können Sie lex/flex und yacc/bison verwenden, aber wenn Sie das vorhaben Vielleicht möchten Sie mit einem etwas kleineren Projekt beginnen.

Nehmen Sie ein Programm, das Sie in einer höheren Sprache haben, und schreiben Sie es um. Wenn Sie ein Perl-/Python-/Ruby-/Bash-Skript haben, das Sie häufig verwenden, und Sie während der Ausführung eine Verzögerungszeit bemerken, schreiben Sie es in C neu, wobei Sie sich auf die Leistung konzentrieren.

Ich bin jedoch der Meinung, dass es besser ist, das Rad neu zu erfinden, wenn Sie ein Programm schreiben, um C zu lernen. Beim Programmieren in C dreht sich alles um das Erstellen und Anpassen des Rads, und wenn Sie C nur lernen, indem Sie Bibliotheken verwenden, die das Rad für Sie abstrahieren, dann lernen Sie wirklich kein C. Es kann schneller sein – und wenn Sie arbeiten Bei einem echten Projekt in C erfinden Sie das Rad auf keinen Fall neu – aber wenn Sie dies tun, um zu lernen, dann lernen Sie auf jeden Fall, wie das Rad funktioniert.

  • Alle Ressourcen für dieses Projekt finden Sie hier: stackoverflow.com/questions/1669/learning-to-write-a-compiler

    – dmckee — Ex-Moderator-Kätzchen

    9. Juni 2010 um 18:07 Uhr

  • Werde versuchen. Schönes Beispiel. 😀

    – Janis Gruzis

    18. Oktober 2013 um 6:35 Uhr

Das Lesen und Beantworten von C-Fragen auf StackOverflow ist eine gute Möglichkeit, feine Details der Sprache zu lernen.

Ich würde empfehlen, diese durchzuarbeiten: http://projecteuler.net/. Natürlich hilft es manchmal, einige davon ineffizient in C zu machen, um ein Gefühl dafür zu bekommen, wie lange Brute Force dauert. Versuchen Sie dann, einen clevereren Weg zu finden, und sehen Sie wirklich, wie schön C gut gemacht ist!

Ein Interpreter für eine einfache Grammatiksprache. Natürlich sollten keine Lexer/Parser-Generatoren verwendet werden, um es interessant zu machen.

Baue ein Schachspiel. Dies kann ziemlich trivial sein, da Sie es sogar mit einer einfachen Konsole tun können. Es bringt Sie dazu, Logik zu implementieren, Datenstrukturen zu verwenden, mit Zeigern zu arbeiten usw. Speichern Sie die Partitur, damit Sie mit Persistenz arbeiten können.

Benutzeravatar von Jim Buck
Jim Buck

Je nachdem, wie tief Sie gehen möchten, vielleicht Untergang?

Benutzeravatar von stanigator
Ständiger

Hardware (eingebettetes Mikroprozessorsystem) und Betriebssystem-Kernel-Codes?

  • Es macht großen Spaß mit mcu:s, Atmel AVR:s sind nett.

    – Johann

    12. August 2009 um 7:51 Uhr

1401550cookie-checkInteressantes Projekt um C zu lernen? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy