Praktische Einführung mit Virtualisierung
Stefan Bosse
Universität Koblenz - FB Informatik
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung ::
Die Grundlagen, um aus einem Quellcode mit einfachsten Mitteln eine ausführbare Datei zu generieren
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung :: Literatur
Jürgen Wolf, René Krooß
Grundkurs C
3., aktualisierte und überarbeitete Auflage 2020
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung :: C Compiler
Es gibt verschiedene Compiler. Folgende Auswahl sind bekannte und weniger bekannte C Compiler:
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung :: C Compiler
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung :: C Workflow und Toolchain
Der Workflow (und die Toolchain) ist i.A. nicht monolithisch, sondern besteht aus einer Vielzahl von einzelnen Schritten mit eigenen Programmen.
Typischer C Workflow: Präprozessor CPP → C Compiler CC → Assembler ASM → Linker LD
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung :: C Workflow
Makros
#define X 1#define PRINT2(a,b) \ printf("%d:%d",a,b)#define LINUX 1int x=X;
Konditionale 1
#ifdef LINUX XXX#endif#ifdef LINUX XXX#else YYY#endif
Konditionale 2
#if (X > 0) #define XSIGN 1#else #define XSIGN 0#endif#if (X > 0) unsigned int x;#else signed int x;#endif
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung :: C Workflow
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung :: Der C-JS Transpiler
In diesem Kurs wird C mittels eines C-JavaScript Transpilers geübt un erprobt.
Der C-JS Transpiler besteht aus folgenden Komponenten:
Der generierte JS Code ist lesbar und kann eingesehen werden um ein tieferes Verständnis eines C Programms zu erhalten. Alles dreht sich um ein zentrales Speichermodell und Zugriff darauf.
Stefan Bosse - Grundlagen der Betriebssysteme - Modul A C Programmierung :: Der C-JS Transpiler