1.4.2. Softwareentwicklung#

Erstellen von Software#

Zum Entwickeln von Software werden folgende Schritte benötigt:

  1. Erstellung des Quellcodes, z.B. mit einem Texteditor

  2. Erstellung des Maschinencodes, z.B. mit einem Compiler

  3. Hinzunahme der vom Betriebssytem und anderen Quellen bereitgestellten Schnittstellen (Bibliotheken) und das Erstellen eines ausführbaren Programms, z.B. mit einem Linker

Hinweis: Python, als Skriptsprache, funktioniert anders. Beim Arbeiten mit Python wird ein Skript erstellt, welches von dem Programm Python zur Laufzeit interpretiert wird. Ohne den Interpreter kann ein Pythonskript nicht ausgeführt werden.

Compiler und Linker#

Ein Compiler ist ein Programm, welches aus einem Quellcode – meist in einer hohen Programmiersprache – einen für die Zielarchitektur ausführbaren Maschinencode erstellt. Maschinencode ist nicht (menschlich) lesbar und ist nicht auf verschiedene Computerarchitekturen übertragbar und typischerweise auch nicht auf andere Betriebssysteme. Dieser Maschinencode enthält Anweisungen, welche von der Computerarchitektur ausgeführt werden könnten, ist an sich aber nicht wirklich ausführbar, da ihm die Anknüpfung an das Betriebssystem fehlt. Erst das Verknüpfen, durch den Linker, mit dem Betriebssystem und anderen externen Bibliotheken macht ein Programm ausführbar. Bibliotheken sind Sammlungen von Routinen, welche dem Programmierer zur Verfügung gestellt werden, damit dieser diese nicht neu programmieren muss.

Beispiel: Compiler und Linker, Programmiersprache C#

Quellcode (in C):

#include <stdio.h>
int main (int argc, char* argv)
{
  int a = 5;
  int b = a * 2;
  printf ("Der Wert von b lautet: %d\n", b);
}

Kompilieren mit dem GNU Compiler:

gcc -c example.c -o example.o

Linken mit dem GNU Compiler:

gcc example.o -o example

Dateigrößen:

Quellcode

Compiliertes Objekt

Ausführbares Programm

141 B

744 B

8300 B