Programmiergrundlage für C++
- JumpinJack
- Mitglied
- Beiträge: 953
- Registriert: 27.05.2002 10:37
- Wohnort: Ariendorf
- Kontaktdaten:
Programmiergrundlage für C++
Hallo Leute.
Also ich bin momentan auf der Arbeit ein wenig am rum programmieren. Dieses mache ich mit einer softwarespzifischen Programmiersprache welche meine geschriebenen Anweisungen später interpretiert und ausführt. Das ist in etwa vergleichbar mit exel und dessen Makros.
Nun habe ich ein wenig rumphilosophiert und mir überlegt wie das mit einer richtigen Programmiersprache ist. Wenn ich in C++ programmiere auf welche ebene läuft das Programm. Greift es auf Windowsroutinen zurück, also interpretiert windows die befehle oder schreibe ich die Anweisungen für die CPU.
Ok hört sich jetzt blöde an, wahrschienlich richtig Anfängermässig, aber nun gut. Ich hoffe ihr versteht meine Frage. Wäre klasse wenn da einer ne Antwort hätte.
Also ich bin momentan auf der Arbeit ein wenig am rum programmieren. Dieses mache ich mit einer softwarespzifischen Programmiersprache welche meine geschriebenen Anweisungen später interpretiert und ausführt. Das ist in etwa vergleichbar mit exel und dessen Makros.
Nun habe ich ein wenig rumphilosophiert und mir überlegt wie das mit einer richtigen Programmiersprache ist. Wenn ich in C++ programmiere auf welche ebene läuft das Programm. Greift es auf Windowsroutinen zurück, also interpretiert windows die befehle oder schreibe ich die Anweisungen für die CPU.
Ok hört sich jetzt blöde an, wahrschienlich richtig Anfängermässig, aber nun gut. Ich hoffe ihr versteht meine Frage. Wäre klasse wenn da einer ne Antwort hätte.
Liebe Grüße
JumpinJack
JumpinJack
Hi,
sowohl als auch:
c++ wird kompiliert, dies wird also bytecode für deine CPU, bei nem windows compiler ist das format des kompilats allerdings windows spezifisch, genau wie es bei nem linux compiler linux spezifisch is (normalerweise ELF).
Der programm loader deines betriebssystems liest dieses format und führt es aus.
sowohl als auch:
c++ wird kompiliert, dies wird also bytecode für deine CPU, bei nem windows compiler ist das format des kompilats allerdings windows spezifisch, genau wie es bei nem linux compiler linux spezifisch is (normalerweise ELF).
Der programm loader deines betriebssystems liest dieses format und führt es aus.
-
- Mitglied
- Beiträge: 344
- Registriert: 25.05.2003 13:49
- Wohnort: Illingen(Württ)
- Kontaktdaten:
Re: Programmiergrundlage für C++
Das stimmt schon mal nicht, weil man mit C++ auch für Linux programmieren kannJumpinJack hat geschrieben:Greift es auf Windowsroutinen zurück, also interpretiert windows die befehle oder schreibe ich die Anweisungen für die CPU.

(Vielleicht hab ich auch deine Frage nicht verstanden)
Re: Programmiergrundlage für C++
in aller regel wird es schon windows routinen verwenden, nämlich diese, die die libstdc++ oder wie auch immer sie auf windows heissen wird ihm bereitstellt, zumindest der anfänger wird wohl eher selten für alles seine eigenen unabhängigen funtionen oder klassen schreiben.The Lord of Programming hat geschrieben:Das stimmt schon mal nicht, weil man mit C++ auch für Linux programmieren kannJumpinJack hat geschrieben:Greift es auf Windowsroutinen zurück, also interpretiert windows die befehle oder schreibe ich die Anweisungen für die CPU.
(Vielleicht hab ich auch deine Frage nicht verstanden)
- JumpinJack
- Mitglied
- Beiträge: 953
- Registriert: 27.05.2002 10:37
- Wohnort: Ariendorf
- Kontaktdaten:
Hallo zusammen. Danke für die antworten. Und sorry das ich mich so spät melde. Ich muste die erste Antwort ein wenig "sacken" lassen.
Nur der Verständnishalber:
Programmiere ich in C++ den befehl cd (change directory) neu oder benutze ich diesen von Windows? Ok ist jetzt ein wenig einfach ausgedrückt aber so in etwa meine ich es.

Aber so wie ich dich Jensemann verstehe wird in c++ mit den mitteln von Windows oder Linux geschafft. Wobei halt der jeweilige compiler (ob linux oder windows) das in die entsprechenden Betriebsystembefehle umsetzt. Richtich?!
Nur der Verständnishalber:
Programmiere ich in C++ den befehl cd (change directory) neu oder benutze ich diesen von Windows? Ok ist jetzt ein wenig einfach ausgedrückt aber so in etwa meine ich es.


Aber so wie ich dich Jensemann verstehe wird in c++ mit den mitteln von Windows oder Linux geschafft. Wobei halt der jeweilige compiler (ob linux oder windows) das in die entsprechenden Betriebsystembefehle umsetzt. Richtich?!
Liebe Grüße
JumpinJack
JumpinJack
jo, das issn hartes thema.JumpinJack hat geschrieben:Hallo zusammen. Danke für die antworten. Und sorry das ich mich so spät melde. Ich muste die erste Antwort ein wenig "sacken" lassen.
das issn sehr schlechtes beispiel, weil cd normalerweise teil deiner shell is, daher nehmen wir als beispiel mal den befehl "dir".JumpinJack hat geschrieben: Programmiere ich in C++ den befehl cd (change directory) neu oder benutze ich diesen von Windows? Ok ist jetzt ein wenig einfach ausgedrückt aber so in etwa meine ich es.![]()
Du würdest mit den funktionen deiner libstdc++ (s.o.) dir nachprogrammieren, d.h. du holst dir ne dateiliste, anschliessend würdest mit stat() die datei eigenschafften prüfen, du könntest natürlich auch per exec* bzw. system dir aufrufen, aber das will man normalerweise nicht. Die frage ist hier etwas blöde formuliert, also letztendlich kannst du es neuprogrammieren, musst du aber nich.
Nee, das is sehr hart und sprengt den rahmes des forums, daher lege ich dir wirklich google nahe, ich will es trotzdem mal versuchen.JumpinJack hat geschrieben: Aber so wie ich dich Jensemann verstehe wird in c++ mit den mitteln von Windows oder Linux geschafft. Wobei halt der jeweilige compiler (ob linux oder windows) das in die entsprechenden Betriebsystembefehle umsetzt. Richtich?!
Wenn du eine datei mit word erstellst, isses ein spezielles dateiformat, eben das von word, ebenso sind die formate ausführbarer dateien unterschiedlich, unter Linux wird das s.g. ELF format verwendet, unter windows ein anderes. Dieses format ist erstmal betriebsystem abhängig, es sagt dem system, welche libs es laden muß (DLLs), es sagt dem system anschliessend welchen code es ausführen muß (maschinen code, also die lustigen 0 und 1), dieser maschinencode ist nicht nur OS ahängig, sondern auch CPU abhängig, man denke an gänzlich andere systeme wie PC vs. PPC (Apple) oder auch nur an spezielle befehlssätze der x86 CPUs, z.B. 3dnow oder SSE(2).
Das sind aber alles unterschiede die dein compiler für dich unsichtbar macht. das echte "Problem" sind libs (DLLs), diese stellen dir (wie es bei php die include files tuen) funktionen oder klassen zur verfügung, die libstdc++ ist eine oft verwendete, sie stellt dir die üblichen systems routinen C++ verdaulich zur verfügung.
Nun gibt es hier unterschiedliche standards für diese standard libs, wie eben Posix oder eben das was windows für seinen standard hällt, einfach ausgedrückt, ne funktion heisst auf windows anders als auf linux oder auf nem mac, das kann dein compiler natürlich nicht selbst ausbügeln.
Ich kann abschliessend nur sagen, fang mit C++ an, dann wird dir das alles klar, das zu erklären scheint so schwer zu sein, wie eingefleischten windowsern mount zu erklären.
- JumpinJack
- Mitglied
- Beiträge: 953
- Registriert: 27.05.2002 10:37
- Wohnort: Ariendorf
- Kontaktdaten:
Jo, dann wird auch der Einstieg in C++ super einfach.JumpinJack hat geschrieben:Hi Jensemann.
Naja ich denke ich habs verstanden. Hatte am WE auch noch ne Unterhaltung mit einem Entwickler. Das hat auch gefruchtet.
Mit C++ werd ich besser mal nicht anfangen. Ich hab ja noch nicht mal das php-Buch durch. Also erst php dann c++.
Liebe Grüße
Reality
PS: JAVA ist auch nicht schlecht.
- JumpinJack
- Mitglied
- Beiträge: 953
- Registriert: 27.05.2002 10:37
- Wohnort: Ariendorf
- Kontaktdaten:
Nein, Skript- und Programmiersprachen sind sich ähnlich, zumindest was die "Grund-Syntax" angeht. Auch der Aufbau bzw. die Logik ist sich ähnlich.
Der Erfinder von php hat sich übrigens an C orientiert.
JAVA (das lerne ich in der Schule und privat) ist ähnlich wie C++, C++ ist ähnlich wie C. Allgemein sind sich alle Sprachen ähnlich.
Kannst du eine Sprache, kannst du alle (zumindest ist es bei den Hochsprachen so).
Liebe Grüße
Reality
Der Erfinder von php hat sich übrigens an C orientiert.
JAVA (das lerne ich in der Schule und privat) ist ähnlich wie C++, C++ ist ähnlich wie C. Allgemein sind sich alle Sprachen ähnlich.

Kannst du eine Sprache, kannst du alle (zumindest ist es bei den Hochsprachen so).
Liebe Grüße
Reality