Plattformunabhängig in C

Status
Nicht offen für weitere Antworten.

codeman

Erfahrenes Mitglied
Hallo,

wir haben in meiner Schule in Informatik so ein Projekt über plattformunabhängige Programmiersprachen.

Das Paradebeispiel ist da ja C.

Wir sollen eine kleine absolut Plattformunabhängige Anwendung (z.B.: kleines Rechenprogramm) mit ein paar Grundbefehlen schreiben.

Mit "printf" war das ja recht einfach, mann mus nur dierekt an den Videospeicher schreiben und vielleicht eine Zeilenumbruchfunktion dazu.
Ich habe nur Probleme mit einem art "scanf" Befehl. Vielleicht kann mir wer helfen?

Danke im vorraus.
 
Hast du verstanden was es bedeutet wenn etwas Platformunabhängig ist?
Die Funktionen printf / scanf / ... sind Teil der C Library, und somit auch Platformunabhängig. Der Code muss eben für jede Platform extra compiliert werden. Übrigens würde ich C nicht gerade als Paradebeispiel für platformunabhängige Programmierung hernehmen, weil in C sehr sehr viel auf 3rd Party Librarys abhängt und die Standard Library im Vergleich zu anderen Sprach sehr klein ist. Vor allem beim Thema GUI (aber da gibts ja Gott sei Dank ein paar platformübergreifende Librarys).

Java ist sehr platformunabhängig, nur muss der Code dann über eine JVM interpretiert werden (hoffentlich rede ich hier kein Unsinn)

Wenn du versucht die selbe Binary auf verschieden Platformen zum laufen zu bekommen kannste das vergessen. Les dir erstmal durch wie Binarys z.B. unter Windows aufgebaut sind.

Gruß Fireflow
 
Stimmt voll und ganz, du kannst mit viel Mühe und Sorgfallt Code unter C schreiben den du unter verschiedenen Plattformen übersetzen kannst, aber dann hörts auch bald auf. GUI ist da wirklich schon schwierig und nur mit bestimmten Lösungen möglich (z.B. QT).
JAVA wird dagegen von der entsprechenden VM interpretiert und dann in Bytecode für die jeweilige Umgebung "umgewandelt", sowas ähnliches sieht auch das .NET Konzept vor.

Greetz...
Sinac
 
Das stimmt schon!

Ich meine nur, das der Code auf wirklich jeden OS läuft, nicht nur auf solchen für die Bibliotheken da sind.
 
Geht nicht... (!)
Ich bezweifle nämlich einfach mal dass dich Windows oder auch Linux solche Low-Level Dinge wie "direkt in der Grafikspeicher schreiben" einfach machen lässt.

Gruß
 
nur muss der Code dann über eine JVM interpretiert werden (hoffentlich rede ich hier kein Unsinn)
gerade noch mal Pech gehabt, die Java Virtuell Machine (JVM) iss für Java-Script, für Java iss das Java Runtime Enviroment (JRE) zuständig, aber ansonstzen stimme ich FireFlow zu
 
gerade noch mal Pech gehabt, die Java Virtuell Machine (JVM) iss für Java-Script

Wie bitte?
Javascript wird vom Browser interpretiert und hat rein gar nichts mit Java zu
tun...
Die JVM interpretiert wie schon von Fireflow erwähnt den Java Byte Code der vorher mit einem Javacompiler zu diesem übersetzt wurde...

Gruß

RedWing
 
Hi.

Auch das stimmt nicht so ganz 100%ig. Javascript (bzw. ECMA Script) ist eine Programmiersprache die, zugegebenermaßen, auch in Browser eingebettet wird. Allerdings kann man sie natürlich auch in andere Programme einbetten und man kann sie sogar als "standalone" Programmiersprache benutzen (http://www.njs-javascript.org/).

Aber natürlich ist die "Java Virtual Machine" für Java und nicht für JavaScript.
 
Status
Nicht offen für weitere Antworten.
Zurück