capribeach software : Kompilieren

Startseite :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register

Revision [726]

Most recent edit made on 2006-11-30 15:01:56 by EllenPetersen

Additions:

CategoryC




Revision [662]

Edited on 2006-11-30 14:04:05 by EllenPetersen

Additions:
Compiler für C gibt es für nahezu jedes Betriebssystem. Aufgrund der großen Verbreitung der Computersprache ist es fast immer möglich, einen C-Compiler für die gesuchte Computerumgebung zu finden. Es ist zudem möglich, C-Programme mit C++-Compilern zu übersetzen, da diese den C-Standard ebenfalls beherrschen. So können weit verbreiteten Compiler von Microsoft oder Borland auch für das Programmieren mit C genutzt werden, und kostenfreie Lösungen wie DevCPP von Bloodshed oder Code::Blocks sind ebenfalls geeignet.


Deletions:
Compiler für C gibt es für nahezu jedes Betriebssystem. Aufgrund der großen Verbreitung der Computersprache ist es fast immer möglich, einen C-Compiler für die gesuchte Computerumgebung zu finden. Es ist zudem möglich, C-Programme mit CPP-Compilern zu übersetzen, da diese den C-Standard ebenfalls beherrschen. So können weit verbreiteten Compiler von Microsoft oder Borland auch für das Programmieren mit C genutzt werden, und kostenfreie Lösungen wie DevCPP von Bloodshed oder Code::Blocks sind ebenfalls geeignet.




Revision [661]

Edited on 2006-11-30 14:03:01 by EllenPetersen

Additions:
Für die ersten Schritte mit der Programmiersprache C sind Konsolenprogramme die einfachste Variante. Dabei werden die Ergebnisse des Programmcodes in einem schmucklosen Textfenster ausgegeben, ohne jegliche Grafikelemente. Unter dem Betriebssystem Windows ist die Konsoleneingabe über das Startmenü unter den Zubehörprogrammen zu finden und heißt schlicht „Eingabeaufforderung“. Es erscheint die Systemkonsole, ein schwarzes Fenster mit der Angabe des Laufwerkes, auf dem sich der Benutzer gerade befindet. Wenn im Zusammenhang mit dem Programmieren von Konsolenprogrammen die Rede ist, bedeutet es, dass keine Grafikoberfläche bei der Ausführung geboten wird. Windows-Programme mit der gewohnten Fensteroberfläche mit Menüs und Dialogboxen sind nur über den Aufruf von entsprechenden Grafikbibliotheken möglich. Die Windows-Schnittstelle Win32-API ist komplett in C programmiert und daher direkt mit C-Aufrufen nutzbar. Die Win32-API stellt alle Funktionen zur Fensterprogrammierung zur Verfügung.


Deletions:
Für die ersten Schritte mit der Programmiersprache C sind Konsolenprogramme die einfachste Variante. Dabei werden die Ergebnisse des Programmcodes in einem schmucklosen Textfenster ausgegeben, ohne jegliche Grafikelemente. Unter dem Betriebssystem Windows ist die Konsoleneingabe über das Startmenü unter den Zubehörprogrammen zu finden und heißt schlicht „Eingabeaufforderung“. Es erscheint die Systemkonsole, ein schwarzes Fenster mit der Angabe des Laufwerkes, auf dem sich der Benutzer gerade befindet. Wenn im Zusammenhang mit dem Programmieren von Konsolenprogrammen die Rede ist, bedeutet es, dass keine Grafikoberfläche bei der Ausführung geboten wird. Windows-Programme mit der gewohnten Fensteroberfläche mit Menüs und Dialogboxen sind nur über den Aufruf von entsprechenden Grafikbibliotheken möglich. Die Windows-Schnittstelle Win32-API ist komplett in C programmiert und daher direkt mit C-Aufrufen nutzbar. Die Win32-API stellt alle Funktionen zur Fensterprogrammierung zur Verfügung.




Revision [645]

Edited on 2006-11-30 12:59:28 by EllenPetersen

No differences.


Revision [643]

Edited on 2006-11-30 12:57:51 by EllenPetersen

Deletions:
Ein Computerprogramm ist ein Rezept, das in einer Textdatei erfasst wird. Der PC nimmt das Rezept und arbeitet es Schritt für Schritt ab. An bestimmten Stellen kann es sein, dass außer dem Programmcode selbst weitere Zutaten notwendig sind. Das sind die Daten, die sich der Rechner eventuell vom Benutzer direkt per Tastatureingabe oder Mausbefehl holt oder die er von anderen Dateien oder aus Datenbanken ausliest und dem Programm je nach Rezeptanweisung beimischt. Das Ergebnis ist eine Kombination aus Daten und Programm-Befehlsstrukturen, die als fertige Anwendung auf dem Desktop zu sehen ist. Ohne Rezept und ohne Daten kann der Computer nichts fertig bringen.
Der Mensch kommuniziert unter anderem in schriftlicher Form; Gedanken, die er in Worte fasst und zu Papier bringt, heißen Text. Wer mit einem Computer reden will, muss in einer Datei Befehle aus dem Wortschatz der Sprache C korrekt kombinieren, das nennt man dann Code.
Die Dateien mit den Codezeilen des C-Programmes heißen Quellcodedateien, ihr Inhalt ist der Quellcode.
Während der C-Quellcode für Kenner der Sprache leicht zugänglich ist, arbeiten alle Rechner intern ausschließlich mit binärem Code aus Nullen und Einsen.
Der Computer versteht nur Maschinencode in binärer Form:
0001110001111000001010101010010101
0001110001111000001010101010010101
0001110001111000001010101010010101
0001110001111000001010101010010101
0001110001111000001010101010010101

Instruktionen des Maschinencodes sind einfache Befehle, wie etwa:
"kopiere ein Datensegment xy aus dem Speicher xy ins Register xy"
"kopiere ein Datensegment aus dem Register xy in den Speicher xy"
"kopiere ein Datensegment xy von dem Speicherplatz x in den Speicherplatz y"
"addiere die Zahl aus dem Speicherplatz x und lege das Ergebnis in den Speicherplatz y"
Jedes lauffähige C-Programm ist ein binäres Muster aus Null und Eins, Strom und Nicht-Strom, Sein und Nichtsein. Nur diesen Code versteht die Zentraleinheit im Rechner. Das Gehirn jedes Computers ist vereinfacht dargestellt der Mikroprozessor. Je nach Hersteller und Typ wird der Prozessor über unterschiedliche Maschinensprache-Befehle gesteuert. Der Befehlssatz eines Prozessors ist der Maschinencode, nur dieser treibt den Computer direkt zur Arbeit an. Jeder Rechnertyp verfügt damit über eine Muttersprache auf Prozessorebene. Eine Folge von Bits im Maschinencode wie sie oben zu sehen ist, bildet ein interessantes Muster aus Nullen und Einsen. Das Lesen und Schreiben dieses Codes ist für Menschen nicht empfehlenswert. Maschinensprache ist aus unserer Sicht eine niedere Sprache.
Eine höhere Computersprache wie C besteht nicht mehr aus einem reinen Bitmuster. C stellt einen Wortschatz zur Verfügung, mit dem alle Befehle und Anweisungen an den Rechner so formuliert werden können, dass sie ein C-Kundiger auf den ersten Blick versteht. Damit ein C-Programm irgendetwas im Rechner in Bewegung setzt, muss es in den Maschinencode des Prozessors umwandelt werden. Die Übersetzungs-Software, die das macht, heißt Compiler. Es ist ein Programm, das nichts anderes leistet, als jeden C-Befehl eins zu eins in Maschinencode zu übersetzen.
C ist eine Compiler-Sprache. Das bedeutet, dass aus einer Quellcodedatei, in der die C-Befehle stehen, in mehreren kleineren Arbeitsschritten das lauffähige Programm erzeugt wird.




Revision [641]

Edited on 2006-11-30 12:54:11 by EllenPetersen

Additions:
Der Grund dafür, dass ein C-Quellcode für jede Computerumgebung getrennt kompiliert werden musss, liegt darin, dass ein ausführbares C-Programm bereits den vollständigen Maschinencode für das Betriebssystem enthält. Und die Maschinensprache ist für die Plattformen unterschiedlich, daher müssen sie getrennt übersetzt werden. C ist eine lupenreine Compiler-Sprache. Erst das vollständig kompilierte Programm kann auf dem Rechner gestartet werden. Ein großer Vorteil ist die Schnelligkeit mit der kompilierte Programme laufen. Da sie bereits in Maschinencode vorliegen, arbeiten sie immer schneller als Programme, bei denen die Übersetzung erst zum Zeitpunkt des Programmstarts erfolgt.


Deletions:
Der Grund dafür, dass ein C-Quellcode für jede Computerumgebung getrennt kompiliert werden musss, liegt darin, dass ein ausführbares C-Programm bereits den vollständigen Maschinencode für das Betriebssystem enthält. Und die Maschinensprache ist für die Plattformen unterschiedlich. C gehört daher zu den so genannten Compiler-Sprachen. Erst das vollständig kompilierte Programm kann auf dem Rechner gestartet werden. Ein großer Vorteil ist die Schnelligkeit mit der kompilierte Programme laufen. Da sie bereits in Maschinencode vorliegen, arbeiten sie immer schneller als Programme, bei denen die Übersetzung erst zum Zeitpunkt des Programmstarts erfolgt.




Revision [640]

Edited on 2006-11-30 12:35:16 by EllenPetersen

Additions:
Ein Programm zum Übersetzen und Ausführen des Python-Quellcodes (Interpreter) ist bei Linux in der Regel bereits vorinstalliert. Auch die .NET CLR steht in den neuesten Versionen der Microsoft-Betriebssysteme automatisch bereit.


Deletions:
Ein Python-Interpreter ist bei Linux in der Regel bereits vorinstalliert, ebenso wie die .NET CLR in den neuesten Versionen der Microsoft-Betriebssysteme.




Revision [639]

Edited on 2006-11-30 12:32:26 by EllenPetersen

Additions:
Bei Interpreter-Sprachen wie beispielsweise Basic oder Python wird zum Programmstart die Quellcodedatei aufgerufen, übersetzt und bei der Umwandlung in die Programmdatei sofort ausgeführt. Ein Vorteil von Interpreter-Sprachen ist es, dass der Programmierer die einzelnen Schritte des Programmablaufes und ihre Resultate in seiner Entwicklungsumgebung direkt am Bildschirm mitverfolgen kann. Dies gilt für C nicht, hier wird immer erst eine Quelltextdatei gespeichert, diese kompiliert und das ausführbare Programm im Maschinencode erzeugt. Wer mit einer Interpreter-Sprachen programmiert, muss zudem bei der Weitergabe seines Programmes sicherstellen, dass der Anwender eine Laufzeitumgebung für die Sprache auf seinem Rechner zur Verfügung hat. Diese übernimmt die Übersetzung oder Teilübersetzung des Quellcodes und generiert zum Zeitpunkt des ersten Aufrufes des Programmes den Maschinencode für den jeweiligen Rechner.
Programme in Sprachen wie Python oder Java werden also nicht für jedes Betriebssystem einzeln kompiliert. Sie benötigen allerdings auf dem Zielrechner eine jeweils auf das Computersystem und die Programmiersprache abgestimmte Software. Im Falle von Java heißt diese Hilfssoftware Java Runtime Environment (JRE). Bei den Microsoft .NET-Sprachen wie C-Sharp ist es die Common Language Runtime (CLR).
Ein Python-Interpreter ist bei Linux in der Regel bereits vorinstalliert, ebenso wie die .NET CLR in den neuesten Versionen der Microsoft-Betriebssysteme.


Deletions:
Bei Interpreter-Sprachen wie beispielsweise Basic oder Python wird zum Programmstart die Quellcodedatei aufgerufen, übersetzt und bei der Umwandlung in die Programmdatei sofort ausgeführt. Ein Vorteil von Interpreter-Sprachen ist es, dass der Programmierer die einzelnen Schritte des Programmablaufes und ihre Resultate in seiner Entwicklungsumgebung direkt am Bildschirm mitverfolgen kann. Dies gilt für C nicht, hier wird immer erst eine Quelltextdatei gespeichert, diese kompiliert und das ausführbare Programm im Maschinencode erzeugt. Wer mit einer Interpreter-Sprachen programmiert muss zudem bei der Weitergabe seines Programmes sicherstellen, dass der Anwender eine Laufzeitumgebung für die Sprache auf seinem Rechner zur Verfügung hat. Diese übernimmt die Übersetzung oder Teilübersetzung des Quellcodes und generiert jeweils erst beim ersten Aufruf des Programmes den Maschinencode für den jeweiligen Rechner. Während Programme in Sprachen wie Python oder Java also nicht für jedes Betriebssystem einzeln kompiliert werden müssen, benötigen sie auf dem Zielrechner eine jeweils auf das Computersystem und die Programmiersprache abgestimmte Software. Im Falle von Java heißt diese Hilfssoftware Java Runtime Environment (JRE). Bei den Microsoft .NET-Sprachen wie C-Sharp ist es die Common Language Runtime (CLR).




Revision [638]

Edited on 2006-11-30 12:28:04 by EllenPetersen

Additions:
Der Grund dafür, dass ein C-Quellcode für jede Computerumgebung getrennt kompiliert werden musss, liegt darin, dass ein ausführbares C-Programm bereits den vollständigen Maschinencode für das Betriebssystem enthält. Und die Maschinensprache ist für die Plattformen unterschiedlich. C gehört daher zu den so genannten Compiler-Sprachen. Erst das vollständig kompilierte Programm kann auf dem Rechner gestartet werden. Ein großer Vorteil ist die Schnelligkeit mit der kompilierte Programme laufen. Da sie bereits in Maschinencode vorliegen, arbeiten sie immer schneller als Programme, bei denen die Übersetzung erst zum Zeitpunkt des Programmstarts erfolgt.
Bei Interpreter-Sprachen wie beispielsweise Basic oder Python wird zum Programmstart die Quellcodedatei aufgerufen, übersetzt und bei der Umwandlung in die Programmdatei sofort ausgeführt. Ein Vorteil von Interpreter-Sprachen ist es, dass der Programmierer die einzelnen Schritte des Programmablaufes und ihre Resultate in seiner Entwicklungsumgebung direkt am Bildschirm mitverfolgen kann. Dies gilt für C nicht, hier wird immer erst eine Quelltextdatei gespeichert, diese kompiliert und das ausführbare Programm im Maschinencode erzeugt. Wer mit einer Interpreter-Sprachen programmiert muss zudem bei der Weitergabe seines Programmes sicherstellen, dass der Anwender eine Laufzeitumgebung für die Sprache auf seinem Rechner zur Verfügung hat. Diese übernimmt die Übersetzung oder Teilübersetzung des Quellcodes und generiert jeweils erst beim ersten Aufruf des Programmes den Maschinencode für den jeweiligen Rechner. Während Programme in Sprachen wie Python oder Java also nicht für jedes Betriebssystem einzeln kompiliert werden müssen, benötigen sie auf dem Zielrechner eine jeweils auf das Computersystem und die Programmiersprache abgestimmte Software. Im Falle von Java heißt diese Hilfssoftware Java Runtime Environment (JRE). Bei den Microsoft .NET-Sprachen wie C-Sharp ist es die Common Language Runtime (CLR).


Deletions:
Der Unterschied zu Interpreter-Sprachen wie beispielsweise Basic oder Python besteht darin, dass der C-Code immer vollständig kompiliert wird. Das Ausführen der Programmschritte erfolgt erst im Anschluss. Ein großer Vorteil ist die Schnelligkeit mit der kompilierte Programme laufen. Da sie bereits in Maschinencode vorliegen, arbeiten sie immer schneller als Programme, bei denen die Übersetzung erst zum Zeitpunkt des Programmstarts erfolgt. Bei Interpreter-Sprachen wird zum Programmstart die Quellcodedatei aufgerufen, übersetzt und bei der Umwandlung in die Programmdatei sofort ausgeführt. Ein Vorteil von Interpreter-Sprachen ist es, dass der Programmierer die einzelnen Schritte des Programmablaufes und ihre Resultate in seiner Entwicklungsumgebung direkt am Bildschirm mitverfolgen kann. Dies gilt für C nicht, hier wird immer erst eine Quelltextdatei gespeichert, diese kompiliert und das ausführbare Programm im Maschinencode erzeugt.




Revision [637]

Edited on 2006-11-30 12:09:05 by EllenPetersen

Additions:
Compiler für C gibt es für nahezu jedes Betriebssystem. Aufgrund der großen Verbreitung der Computersprache ist es fast immer möglich, einen C-Compiler für die gesuchte Computerumgebung zu finden. Es ist zudem möglich, C-Programme mit CPP-Compilern zu übersetzen, da diese den C-Standard ebenfalls beherrschen. So können weit verbreiteten Compiler von Microsoft oder Borland auch für das Programmieren mit C genutzt werden, und kostenfreie Lösungen wie DevCPP von Bloodshed oder Code::Blocks sind ebenfalls geeignet.
Ein C-Programm, das nach den Regeln der gültigen ISO-Standards formuliert wird, kann mit jedem der Compiler erzeugt werden. Das der ISO-Standard 99 noch nicht sehr alt ist, kann es allerdings vorkommen, dass einige Compiler die jüngsten Änderungen im Standard noch nicht implementiert haben. Die auf C spezialisierte Entwicklungsumgebung Pelles C bietet bereits den vollen C99-Standard.
Es entsteht dabei wie oben gezeigt eine Programmdatei für das jeweilige Betriebssystem.
C-Programme sind plattformübergreifend nutzbar, allerdings nur solange keine speziellen Systembefehle der Betriebssysteme im Quellcode verwendet werden. Ein für Windows kompiliertes C-Programm läuft nicht auf einem anderen Betriebssystem. Der Programmierer kann allerdings den Quelltext in einem Linux-Compiler erneut übersetzen lassen und erhält auf diese Weise ein lauffähiges, kompiliertes Linux-Programm. Das gleiche gilt für weitere Betriebssysteme. Wer darauf achtet plattformunabhängigen C-Code und plattformunabhängige Bibliotheken in der Quelltextdatei zu verwenden, kann also leicht ein Programm für die verschiedenen Betriebssysteme erzeugen. Wer allerdings plattformabhängige Bibliotheken im Quellcode selbst verwendet, ist auf das jeweilige Betriebssystem festgelegt.


Deletions:
Compiler für C gibt es für jedes Betriebssystem. Aufgrund der großen Verbreitung der Computersprache ist es fast immer möglich, einen C-Compiler für die gesuchte Computerumgebung zu finden. Ein C-Programm, das nach den Regeln des gültigen Standards ISO-99 formuliert wird, läuft in jedem Compiler fehlerfrei und erzeugt eine Programmdatei für das jeweilige Betriebssystem. So können Windows-Programmierer ohne Probleme eine erstellte Quelltextdatei in einem C-Compiler für Linux ein weiteres Mal kompilieren und so ein Linux-Programm erzeugen. Das gleiche gilt selbstverständlich in Gegenrichtung sowie auch für Apple-Betriebssysteme und andere Umgebungen.
C-Programme sind plattformübergreifend nutzbar, allerdings nur solange keine speziellen Systembefehle der Betriebssysteme im Quellcode verwendet werden. Ein für Windows kompiliertes C-Programm läuft nicht auf einem anderen Betriebssystem. Der Programmierer kann allerdings den Quelltext in einem Linux-Compiler erneut übersetzen lassen und erhält auf diese Weise ein lauffähiges, kompiliertes Linux-Programm, das gleiche gilt für weitere Betriebssysteme. Wer darauf achtet plattformunabhängigen C-Code und plattformunabhängige Bibliotheken in der Quelltextdatei zu verwenden, kann also leicht ein Programm für die verschiedenen Betriebssysteme erzeugen. Wer allerdings plattformabhängige Bibliotheken im Quellcode selbst verwendet, ist auf das jeweilige Betriebssystem festgelegt.




Revision [636]

Edited on 2006-11-29 20:15:46 by EllenPetersen

Additions:
C-Programme sind plattformübergreifend nutzbar, allerdings nur solange keine speziellen Systembefehle der Betriebssysteme im Quellcode verwendet werden. Ein für Windows kompiliertes C-Programm läuft nicht auf einem anderen Betriebssystem. Der Programmierer kann allerdings den Quelltext in einem Linux-Compiler erneut übersetzen lassen und erhält auf diese Weise ein lauffähiges, kompiliertes Linux-Programm, das gleiche gilt für weitere Betriebssysteme. Wer darauf achtet plattformunabhängigen C-Code und plattformunabhängige Bibliotheken in der Quelltextdatei zu verwenden, kann also leicht ein Programm für die verschiedenen Betriebssysteme erzeugen. Wer allerdings plattformabhängige Bibliotheken im Quellcode selbst verwendet, ist auf das jeweilige Betriebssystem festgelegt.
compiler


Deletions:
C-Programme sind plattformübergreifend nutzbar, allerdings nur solange keine speziellen Systembefehle der Betriebssysteme im Quellcode verwendet werden. Ein für Windows kompiliertes C-Programm läuft nicht auf einem anderen Betriebssystem. Der Programmierer kann allerdings den Quelltext in einem Linux-Compiler erneut übersetzen lassen und erhält auf diese Weise ein lauffähiges, kompiliertes Linux-Programm, das gleiche gilt für weitere Betriebssysteme. Wer darauf achtet plattformunabhängigen C-Code und plattformunabhängige Bibliotheken in der Quelltextdatei zu verwenden, kann also leicht ein Programm für die verschiedenen Betriebssysteme erzeugen. Wer allerdings plattformabhängige Bibliotheken im Quellcode selbst verwendet, ist auf das jeweilige Betriebssystem festgelegt. Ein Beispiel aus dem Grafikbereich ist auf der einen Seite die plattformunabhängige Grafik-Schnittstelle OpenGL und auf der anderen Seite die Grafik-Entwicklungsbibliothek DirectX von Microsoft, die ausschließlich zur Programmierung von Windows-Software dient. Wer seine Programme auch für Linux/Unix oder AppleOS umsetzen will, muss auf plattformunabhängige Bibliotheksbestandteile in seinem Quellcode achten.




Revision [629]

Edited on 2006-11-28 20:41:48 by EllenPetersen

Additions:
Nach dem Eintippen des Codes in die Quelltextdatei übersetzt der Compiler den C-Code in Maschinencode. Diesen Prozess nennt man Kompilieren. Es entsteht aus jeder Quellcodedatei eine Objektdatei, die nur noch binären, maschinenlesbaren Code enthält. Im Anschluss ergänzt der Linker das Programm mit den notwendigen Bestandteilen aus bereits kompilierten Bibliotheksdateien und bindet diese zu einer lauffähigen Programmdatei zusammen. Unter Windows entsteht auf diesem Wege eine Datei mit der Endung .exe. Diese kann per Mausklick gestartet werden.


Deletions:
Nach dem Eintippen des Codes in die Quelltextdatei übersetzt der Compiler den C-Code in Maschinencode. Dieser Vorgang heißt Kompilierung. Es entsteht aus jeder Quellcodedatei eine Objektdatei, die nur noch binären, maschinenlesbaren Code enthält. Im Anschluss ergänzt der Linker das Programm mit den notwendigen Bestandteilen aus bereits kompilierten Bibliotheksdateien und bindet diese zu einer lauffähigen Programmdatei zusammen. Unter Windows entsteht auf diesem Wege eine Datei mit der Endung .exe. Diese kann per Mausklick gestartet werden.




Revision [628]

Edited on 2006-11-28 20:34:25 by EllenPetersen

Additions:
Nach dem Eintippen des Codes in die Quelltextdatei übersetzt der Compiler den C-Code in Maschinencode. Dieser Vorgang heißt Kompilierung. Es entsteht aus jeder Quellcodedatei eine Objektdatei, die nur noch binären, maschinenlesbaren Code enthält. Im Anschluss ergänzt der Linker das Programm mit den notwendigen Bestandteilen aus bereits kompilierten Bibliotheksdateien und bindet diese zu einer lauffähigen Programmdatei zusammen. Unter Windows entsteht auf diesem Wege eine Datei mit der Endung .exe. Diese kann per Mausklick gestartet werden.


Deletions:
Nach dem Eintippen des Codes in die Quelltextdatei übersetzt der Compiler den C-Code in Maschinencode. Dieser Vorgang heißt Kompilierung. Es entsteht eine Objektdatei, die nur noch binären, maschinenlesbaren Code enthält. Im Anschluss ergänzt der Linker das Programm mit den notwendigen Bestandteilen aus bereits kompilierten Bibliotheksdateien und fügt diese zu der lauffähigen Programmdatei
zusammen. Unter Windows entsteht auf diesem Wege eine Datei mit der Endung .exe. Diese kann per Mausklick gestartet werden.




Revision [627]

Edited on 2006-11-28 20:28:49 by EllenPetersen

No differences.


Revision [626]

Edited on 2006-11-28 20:27:51 by EllenPetersen

Additions:
Der Compiler übersetzt den Quellcode
compiler


Deletions:
Kompilieren - Linken - Binden




Revision [615]

Edited on 2006-11-24 12:22:33 by EllenPetersen

Additions:
Für die ersten Schritte mit der Programmiersprache C sind Konsolenprogramme die einfachste Variante. Dabei werden die Ergebnisse des Programmcodes in einem schmucklosen Textfenster ausgegeben, ohne jegliche Grafikelemente. Unter dem Betriebssystem Windows ist die Konsoleneingabe über das Startmenü unter den Zubehörprogrammen zu finden und heißt schlicht „Eingabeaufforderung“. Es erscheint die Systemkonsole, ein schwarzes Fenster mit der Angabe des Laufwerkes, auf dem sich der Benutzer gerade befindet. Wenn im Zusammenhang mit dem Programmieren von Konsolenprogrammen die Rede ist, bedeutet es, dass keine Grafikoberfläche bei der Ausführung geboten wird. Windows-Programme mit der gewohnten Fensteroberfläche mit Menüs und Dialogboxen sind nur über den Aufruf von entsprechenden Grafikbibliotheken möglich. Die Windows-Schnittstelle Win32-API ist komplett in C programmiert und daher direkt mit C-Aufrufen nutzbar. Die Win32-API stellt alle Funktionen zur Fensterprogrammierung zur Verfügung.


Deletions:
Für die ersten Schritte mit der Programmiersprache C sind Konsolenprogramme die einfachste Variante. Dabei werden die Ergebnisse des Programmcodes in einem schmucklosen Textfenster ausgegeben, ohne jegliche Grafikelemente. Unter dem Betriebssystem Windows ist die Konsoleneingabe über das Startmenü unter den Zubehörprogrammen zu finden und heißt schlicht „Eingabeaufforderung“. Es erscheint die Systemkonsole, ein schwarzes Fenster mit der Angabe des Laufwerkes, auf dem sich der Benutzer gerade befindet. Wenn im Zusammenhang mit dem Programmieren von Konsolenprogrammen die Rede ist, bedeutet es, dass keine Grafikoberfläche bei der Ausführung geboten wird. Windows-Programme mit der gewohnten Fensteroberfläche zmit Menüs und Dialogboxen sind nur über den Aufruf von entsprechenden Grafikbibliotheken möglich. Die Windows-Schnittstelle Win32-API ist komplett in C programmiert und daher direkt mit C-Aufrufen nutzbar. Die Win32-API stellt alle Funktionen zur Fensterprogrammierung zur Verfügung.




Revision [536]

Edited on 2006-11-23 15:55:53 by EllenPetersen

Additions:
Die Dateien mit den Codezeilen des C-Programmes heißen Quellcodedateien, ihr Inhalt ist der Quellcode.
Während der C-Quellcode für Kenner der Sprache leicht zugänglich ist, arbeiten alle Rechner intern ausschließlich mit binärem Code aus Nullen und Einsen.


Deletions:
Die Datei mit den Codezeilen des C-Programmes heißt Quellcodedatei, ihr Inhalt ist der Quellcode.
Während C-Code für Kenner der Sprache leicht zugänglich ist, arbeiten alle Rechner intern ausschließlich mit binärem Code aus Nullen und Einsen.




Revision [535]

Edited on 2006-11-23 15:54:51 by EllenPetersen

Additions:
Der Mensch kommuniziert unter anderem in schriftlicher Form; Gedanken, die er in Worte fasst und zu Papier bringt, heißen Text. Wer mit einem Computer reden will, muss in einer Datei Befehle aus dem Wortschatz der Sprache C korrekt kombinieren, das nennt man dann Code.
Die Datei mit den Codezeilen des C-Programmes heißt Quellcodedatei, ihr Inhalt ist der Quellcode.
Während C-Code für Kenner der Sprache leicht zugänglich ist, arbeiten alle Rechner intern ausschließlich mit binärem Code aus Nullen und Einsen.


Deletions:
Der Mensch kommuniziert unter anderem in schriftlicher Form; Gedanken, die er in Worte fasst und zu Papier bringt, heißen Text. Wer mit einem Computer reden will, muss in einer Datei Befehle aus dem Wortschatz der Sprache C korrekt kombinieren, das nennt man dann Code. Während C-Code für Kenner der Sprache leicht zugänglich ist, arbeiten alle Rechner intern ausschließlich mit binärem Code aus Nullen und Einsen.




Revision [527]

Edited on 2006-11-23 15:20:40 by EllenPetersen

Deletions:
Integrierte Entwicklungsumgebungen (IDE) zum Nulltarif:
Code::Blocks (Open Source)
Dev-CPP (Open Source)
Visual CPP 2005 Express Edition (Microsoft)
Der DevCPP ist eine kostenlos erhältliche integrierte Entwicklungs-Umgebung (IDE) für C und CPP. Integriert heißt, dass die Anwendung neben dem Herzstück des Compilers auch einen Editor zum Erfassen des Programmcodes sowie verschiedene weitere nützliche Dinge enthält, die die Software-Erstellung unterstützen. DevCPP selbst basiert auf dem Compiler MingW. Ein kleiner Tipp: Wer später Details über Compilerfragen recherchieren will, sollte sich das Handbuch zu MingW anschauen, da diese Angaben nicht in den verstreut zu findenden Tutorials über DevCPP enthalten sind.




Revision [526]

The oldest known version of this page was edited on 2006-11-23 15:19:53 by EllenPetersen

Kompilieren und Linken


Ein Computerprogramm ist ein Rezept, das in einer Textdatei erfasst wird. Der PC nimmt das Rezept und arbeitet es Schritt für Schritt ab. An bestimmten Stellen kann es sein, dass außer dem Programmcode selbst weitere Zutaten notwendig sind. Das sind die Daten, die sich der Rechner eventuell vom Benutzer direkt per Tastatureingabe oder Mausbefehl holt oder die er von anderen Dateien oder aus Datenbanken ausliest und dem Programm je nach Rezeptanweisung beimischt. Das Ergebnis ist eine Kombination aus Daten und Programm-Befehlsstrukturen, die als fertige Anwendung auf dem Desktop zu sehen ist. Ohne Rezept und ohne Daten kann der Computer nichts fertig bringen.

Der Mensch kommuniziert unter anderem in schriftlicher Form; Gedanken, die er in Worte fasst und zu Papier bringt, heißen Text. Wer mit einem Computer reden will, muss in einer Datei Befehle aus dem Wortschatz der Sprache C korrekt kombinieren, das nennt man dann Code. Während C-Code für Kenner der Sprache leicht zugänglich ist, arbeiten alle Rechner intern ausschließlich mit binärem Code aus Nullen und Einsen.

Der Computer versteht nur Maschinencode in binärer Form:
0001110001111000001010101010010101
0001110001111000001010101010010101
0001110001111000001010101010010101
0001110001111000001010101010010101
0001110001111000001010101010010101


Instruktionen des Maschinencodes sind einfache Befehle, wie etwa:
"kopiere ein Datensegment xy aus dem Speicher xy ins Register xy"
"kopiere ein Datensegment aus dem Register xy in den Speicher xy"
"kopiere ein Datensegment xy von dem Speicherplatz x in den Speicherplatz y"
"addiere die Zahl aus dem Speicherplatz x und lege das Ergebnis in den Speicherplatz y"

Jedes lauffähige C-Programm ist ein binäres Muster aus Null und Eins, Strom und Nicht-Strom, Sein und Nichtsein. Nur diesen Code versteht die Zentraleinheit im Rechner. Das Gehirn jedes Computers ist vereinfacht dargestellt der Mikroprozessor. Je nach Hersteller und Typ wird der Prozessor über unterschiedliche Maschinensprache-Befehle gesteuert. Der Befehlssatz eines Prozessors ist der Maschinencode, nur dieser treibt den Computer direkt zur Arbeit an. Jeder Rechnertyp verfügt damit über eine Muttersprache auf Prozessorebene. Eine Folge von Bits im Maschinencode wie sie oben zu sehen ist, bildet ein interessantes Muster aus Nullen und Einsen. Das Lesen und Schreiben dieses Codes ist für Menschen nicht empfehlenswert. Maschinensprache ist aus unserer Sicht eine niedere Sprache.

Eine höhere Computersprache wie C besteht nicht mehr aus einem reinen Bitmuster. C stellt einen Wortschatz zur Verfügung, mit dem alle Befehle und Anweisungen an den Rechner so formuliert werden können, dass sie ein C-Kundiger auf den ersten Blick versteht. Damit ein C-Programm irgendetwas im Rechner in Bewegung setzt, muss es in den Maschinencode des Prozessors umwandelt werden. Die Übersetzungs-Software, die das macht, heißt Compiler. Es ist ein Programm, das nichts anderes leistet, als jeden C-Befehl eins zu eins in Maschinencode zu übersetzen.

C ist eine Compiler-Sprache. Das bedeutet, dass aus einer Quellcodedatei, in der die C-Befehle stehen, in mehreren kleineren Arbeitsschritten das lauffähige Programm erzeugt wird.

Kompilieren - Linken - Binden
Nach dem Eintippen des Codes in die Quelltextdatei übersetzt der Compiler den C-Code in Maschinencode. Dieser Vorgang heißt Kompilierung. Es entsteht eine Objektdatei, die nur noch binären, maschinenlesbaren Code enthält. Im Anschluss ergänzt der Linker das Programm mit den notwendigen Bestandteilen aus bereits kompilierten Bibliotheksdateien und fügt diese zu der lauffähigen Programmdatei
zusammen. Unter Windows entsteht auf diesem Wege eine Datei mit der Endung .exe. Diese kann per Mausklick gestartet werden.


Compiler für C gibt es für jedes Betriebssystem. Aufgrund der großen Verbreitung der Computersprache ist es fast immer möglich, einen C-Compiler für die gesuchte Computerumgebung zu finden. Ein C-Programm, das nach den Regeln des gültigen Standards ISO-99 formuliert wird, läuft in jedem Compiler fehlerfrei und erzeugt eine Programmdatei für das jeweilige Betriebssystem. So können Windows-Programmierer ohne Probleme eine erstellte Quelltextdatei in einem C-Compiler für Linux ein weiteres Mal kompilieren und so ein Linux-Programm erzeugen. Das gleiche gilt selbstverständlich in Gegenrichtung sowie auch für Apple-Betriebssysteme und andere Umgebungen.

C-Programme sind plattformübergreifend nutzbar, allerdings nur solange keine speziellen Systembefehle der Betriebssysteme im Quellcode verwendet werden. Ein für Windows kompiliertes C-Programm läuft nicht auf einem anderen Betriebssystem. Der Programmierer kann allerdings den Quelltext in einem Linux-Compiler erneut übersetzen lassen und erhält auf diese Weise ein lauffähiges, kompiliertes Linux-Programm, das gleiche gilt für weitere Betriebssysteme. Wer darauf achtet plattformunabhängigen C-Code und plattformunabhängige Bibliotheken in der Quelltextdatei zu verwenden, kann also leicht ein Programm für die verschiedenen Betriebssysteme erzeugen. Wer allerdings plattformabhängige Bibliotheken im Quellcode selbst verwendet, ist auf das jeweilige Betriebssystem festgelegt. Ein Beispiel aus dem Grafikbereich ist auf der einen Seite die plattformunabhängige Grafik-Schnittstelle OpenGL und auf der anderen Seite die Grafik-Entwicklungsbibliothek DirectX von Microsoft, die ausschließlich zur Programmierung von Windows-Software dient. Wer seine Programme auch für Linux/Unix oder AppleOS umsetzen will, muss auf plattformunabhängige Bibliotheksbestandteile in seinem Quellcode achten.

Der Unterschied zu Interpreter-Sprachen wie beispielsweise Basic oder Python besteht darin, dass der C-Code immer vollständig kompiliert wird. Das Ausführen der Programmschritte erfolgt erst im Anschluss. Ein großer Vorteil ist die Schnelligkeit mit der kompilierte Programme laufen. Da sie bereits in Maschinencode vorliegen, arbeiten sie immer schneller als Programme, bei denen die Übersetzung erst zum Zeitpunkt des Programmstarts erfolgt. Bei Interpreter-Sprachen wird zum Programmstart die Quellcodedatei aufgerufen, übersetzt und bei der Umwandlung in die Programmdatei sofort ausgeführt. Ein Vorteil von Interpreter-Sprachen ist es, dass der Programmierer die einzelnen Schritte des Programmablaufes und ihre Resultate in seiner Entwicklungsumgebung direkt am Bildschirm mitverfolgen kann. Dies gilt für C nicht, hier wird immer erst eine Quelltextdatei gespeichert, diese kompiliert und das ausführbare Programm im Maschinencode erzeugt.

C-Programmierer haben die Wahl zwischen einer Vielzahl von Compilern und komfortablen integrierten Entwicklungs-Umgebungen (IDE, Integrated Development Environments). Vor allem die IDEs machen das Erstellen der Programme zu einem Kinderspiel. Während frühere Generationen noch mühsam verschiedene Programmerstellungs-Phasen quasi per Hand ausführen mussten, kann heute jeder mit Hilfe einer IDE auf Knopfdruck „Kompilieren“, „Binden“, „Linken“ und „Debuggen“.

Integrierte Entwicklungsumgebungen (IDE) zum Nulltarif:
Code::Blocks (Open Source)
Dev-CPP (Open Source)
Visual CPP 2005 Express Edition (Microsoft)

Der DevCPP ist eine kostenlos erhältliche integrierte Entwicklungs-Umgebung (IDE) für C und CPP. Integriert heißt, dass die Anwendung neben dem Herzstück des Compilers auch einen Editor zum Erfassen des Programmcodes sowie verschiedene weitere nützliche Dinge enthält, die die Software-Erstellung unterstützen. DevCPP selbst basiert auf dem Compiler MingW. Ein kleiner Tipp: Wer später Details über Compilerfragen recherchieren will, sollte sich das Handbuch zu MingW anschauen, da diese Angaben nicht in den verstreut zu findenden Tutorials über DevCPP enthalten sind.

Konsolen und Grafikfenster
Für die ersten Schritte mit der Programmiersprache C sind Konsolenprogramme die einfachste Variante. Dabei werden die Ergebnisse des Programmcodes in einem schmucklosen Textfenster ausgegeben, ohne jegliche Grafikelemente. Unter dem Betriebssystem Windows ist die Konsoleneingabe über das Startmenü unter den Zubehörprogrammen zu finden und heißt schlicht „Eingabeaufforderung“. Es erscheint die Systemkonsole, ein schwarzes Fenster mit der Angabe des Laufwerkes, auf dem sich der Benutzer gerade befindet. Wenn im Zusammenhang mit dem Programmieren von Konsolenprogrammen die Rede ist, bedeutet es, dass keine Grafikoberfläche bei der Ausführung geboten wird. Windows-Programme mit der gewohnten Fensteroberfläche zmit Menüs und Dialogboxen sind nur über den Aufruf von entsprechenden Grafikbibliotheken möglich. Die Windows-Schnittstelle Win32-API ist komplett in C programmiert und daher direkt mit C-Aufrufen nutzbar. Die Win32-API stellt alle Funktionen zur Fensterprogrammierung zur Verfügung.


Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in 0.1093 seconds