FFmpeg-Assembler-Sprachlektionen
(github.com/FFmpeg)- FFmpeg-Assembler-Sprachlektionen sind als Open-Source-Lernmaterial konzipiert, um ein tiefes Verständnis der internen Funktionsweise von Computern zu ermöglichen
- Dieses Repository bietet praxisnahe Beispiele und auf Übungen fokussierte Aufgaben zur in FFmpeg verwendeten Assemblersprache
- C-Zeiger und Mathematik auf Oberstufenniveau sind Voraussetzungen für das Lernen
- Dadurch kann man die Fähigkeit entwickeln, direkt zum FFmpeg-Open-Source-Projekt beizutragen
- Über einen Discord-Kanal werden Unterstützung für Fragen und Diskussionen angeboten
Einführung in die FFmpeg-Assembler-Sprachlektionen
- FFmpeg School of Assembly Language ist eine Open-Source-Lektion, die dafür geschaffen wurde, den Start in eine der interessantesten, anspruchsvollsten und lohnendsten Reisen im Programmieren zu ermöglichen
- Durch diese Lektion kann man anhand echten Codes lernen, wie Assemblersprache in FFmpeg geschrieben wird, und systematisch verstehen, was im Inneren eines Computers geschieht
Erforderliche Kenntnisse
- Verständnis von C, insbesondere das Konzept von Zeigern, ist unerlässlich
- Wer C nicht kennt, sollte zunächst das Buch "The C Programming Language" durcharbeiten
- Vorkenntnisse in Mathematik auf Oberstufenniveau (Skalare und Vektoren, Addition, Multiplikation usw.) werden vorausgesetzt
Aufbau der Lektionen und Nutzung
- Dieses GitHub-Repository enthält schrittweise Lektionen und zu jeder Lektion passende Aufgaben (die Aufgaben sind noch nicht hochgeladen)
- Wer den gesamten Kurs absolviert, erlangt die praktischen Fähigkeiten, direkt zum FFmpeg-Projekt beizutragen
Community-Unterstützung
- Über den Discord-Server (https://discord.com/invite/Ks5MhUhqfB) ist die Teilnahme an Fragen und Antworten sowie an Diskussionen möglich
Mehrsprachige Übersetzungen
- Die Lektionen sind auch auf Französisch und Spanisch verfügbar, was die Zugänglichkeit für Entwickler aus verschiedenen Sprachräumen erhöht
1 Kommentare
Hacker-News-Kommentare
char *behindern Optimierungen; Intrinsics und Auto-Vektorisierung geraten manchmal miteinander in Konflikt; bei Intel C sind Intrinsics wegen der komplizierten, von Microsoft geschaffenen Funktionsnamen manchmal sogar schlechter lesbar als Assemblerpragmas) ausprobieren und, wenn das scheitert, Intrinsics oder eine Sprache wie ISPC verwenden. Man gewinnt durch IR nichts. Selbst wenn man Probleme bei Registerzuweisung oder Befehlsauswahl des Compilers selbst lösen will, formt der Compiler es bei IR am Ende ohnehin wieder in seinen eigenen Code um. Letztlich fügt IR nur eine instabile und schwerer zu nutzende zusätzliche Ebene hinzu. Wenn man den besten handgeschriebenen Assembler erzeugen will, sollte man ihn einfach direkt in Assembler schreiben