warum braucht man zum c++ entwickeln einen compiler?
dachte das läuft direkt auf Windows...
c++
-
-
Hast du mal PHP ohne Webserver ausgeführt? Da wird wunderschöner Code angezeigt
Windows kann mit C++ rein gar nichts anfangen, genau so wenig wie Windows etwas mit Delphi, Visual Basic oder irgendeiner anderen Programmiersprache anfangen kann.
Schreibst du mit 2 unterschiedlichen Sprachen genau das selbe Programm kann Windows im kompilierten Zustand (abgesehen von den Infos die mitgegeben werden) nicht ein mal feststellen mit welcher Sprache gearbeitet wurde.
C++ besteht aus ganz vielen riesigen Bibliotheken mit einem gigantischen Funktionsumfang, auf diese Bibliotheken greift der Programmierer zurück (mittels include), das sähe dann so aus: #include <iostream>), das include erklärt sich wohl von selbst, iostream steht für Input/Output Stream und regelt Ein und Ausgaben am Computer, für gewöhnlich werden für Eingaben die Tastatur und für Ausgaben ein Monitor verwendet.
Dann fängt man an mit den Funktionen der includeten Bibliothek Programme zu schreiben, in diesem Fall wäre es z.B.:
Code
Alles anzeigen#include <iostream> using namespace std; int main() { cout << "Ich bin ein angezeigter Text!"; return 0; }
using namespace std; definiert welcher Namensbereich in der includeten Bibliothekverwendet werden, lässt man das ganze weg müsste es so aussehen:
Code
Alles anzeigen#include <iostream> // using namespace std; lassen wir weg int main() { // hier müssen wir den namespace nun angeben bevor wir die Funktion nutzen: std::cout << "Auch ich bin ein kleiner schnuckeliger Text!"; return 0; }
Unser Code ist fertig, unser erstes kleines Programm. Als nächstes fängt der so genannte "Interpreter" an zu arbeiten, dieser durchläuft den Code und sucht nach Fehlern, z.B.:
Code
Alles anzeigen// der Interoreter fängt an und merkt: aha, eine Bibliothek wird includet, alles korrekt #include <iostream> // Jetzt wird der Interpreter stutzig, da in dieser Zeile das Komma fehlt heißt der namespace plötzlich "using namespace std int main;" <-gibt es nicht, also merkt der Interpreter sich "In Zeile 2 fehlt ein ;" using namespace std // Hier durchläuft der Interpreter jetzt alle Funktionen, er wird keine Fehler finden und ist zufrieden int main() { cout << "Ich bin ein angezeigter Text!"; return 0; } // jetzt gibt der Interpreter den Fehler aus und verbietet dem Compiler zu compilieren
Gehen wir jetzt davon aus das wir keinen Fehler gemacht haben würde der Interpreter dem Compiler grünes Licht geben.
Da Windows die Bibliotheken (z.B. iostream) gar nicht kennt, und auch nicht weiß was ein namespace ist, muss der Compiler nun den fertigen Code in eine für Windows verständliche Sprache umwandeln (oder eben Linux, etc.).
Ich hoffe ich konnte ein wenig aufklären, ansonsten bin ich für Fragen gerne offen
-
also ein c++ Compiler ist quasi wie scriptly(Editor) und Browser zusammen, daher man kann den Code da schreiben und dort auch ausführen lassen...soweit klar.
aber warum laufen dann einfach so alle .exe Dateien aus dem internet, die ja in verschiedensten Programmiersprachen sind einfach so ohne sie im Compiler zu öffnen?
-
Eine C++-Datei ist eine normale Textdatei. Darin steht z. B. der Code, den Basii gepostet hat.
Damit der Computer etwas damit anfangen kann, muss der Compiler sie in Maschinencode übersetzen. Dabei entsteht (unter Windows) eine ausführbare Datei mit der Endung .exe, die du einfach ausführen kannst.
Und ein Compiler ist eigentlich nur ein Kommandozeilentool. Compiler, Editor und Debugger zusammengefasst ergibt eine Integrierte Entwicklungsumgebung (IDE).Hoffe, ich konnte Licht ins Dunkel bringen,
webmaster3000 -
ist maschienencode eine binäre zahlenkette?
das interessiert mich total
-
Eine binäre Zahlenkette ist sowieso alles, aber das was Windows interpretiert ist noch wieder ein bisschen was anderes.
-
darf ich mehr darüber erfahren.?
-
Natürlich darfst du, aber was willst du denn wissen?
-
Beispielsweise man hat jetzt ein Miniprogramm und
der Compiler erstellt eine binäre Zahlenkette.(1=Strom) [--> strom-impulse]
(0=kein Strom)Wie wird diese Kette in Impulse umgewandelt?
-
WIe die Elektrotechnik eben läuft
Auf einem Speicherbaustein sind immens viele Speicherelemente die jeweils entweder Spannung beinhalten oder nicht, zusammen ergeben sie ein Muster, dieses Muster wird kopiert (aneinandergereiht) und fließt als Spannung wieder ab aus der Platine da hin wo der Kram gerade gebraucht wird.
-
kompliziert....vllt verstehe ich die komplette Funktionsweise eines Computers wenn ich mal auf YouTube die Video's anschaue, wo Leute funktionierende PC's in Minecraft nachbauen.
Also mit den ganzen Leiterbahnen...
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!