Programmiersprachen plattformabhängig?

nomax

nomax

Eroberer
>>Heyho, ich hab mal eine generelle Frage, und zwar wie schaut es mit der Anpassung von Programmiersprachen aus?Laufen alle Programmiersprachen auf allen Betriebssystemen oder jeweils nur auf bestimmten (verschiedene Architekturen?)?Ich bin selber grade dabei Java zu lernen, und hab auch mehrmals mitbekommen, dass Java durch die JVM auf Linux genau wie auf Win/Mac läuft und somit nicht an ein OS gebunden ist, aber wie ist das beispielsweise bei c++ oder c?Oder generell bei Programmiersprachen die *.exe-Dateien erzeugen, denn diese sind ja nativ nicht unter Linux lauffähig.

Danke für die Infos im Vorfeld,

Kray'
 
Hallo
C++ oder C erzeugen keine exe Dateien, sondern wenn dann der entsprechende Compiler .
Ein C Code ist immer dann nicht so einfach portierbar, wenn er System API Bibliotheken verwendet.

Bei C++ dürfte da schon ein Unterschied zwischen Linux und Windows bei der einfachen stdio liegen.

Gruß Wolfgang
 
dass Java durch die JVM auf Linux genau wie auf Win/Mac läuft und somit nicht an ein OS gebunden
ja das ist teilweise wahr...zwar gibt es minimalste Unterschiede, die man aber kaum merkt...(betrifft meistens die GUI)
aber der fakt, dass die Programme überall laufen können, ohne neu compiliert werden zu müssen, dass ist was die Plattformunabhängigkeit einfach ausmacht...

im Gegensatz zu C/C++ da wird es schwer unter Windows programmierte Anwendungen auf Linux bzw. Unix zu portieren oder umgekehrt...hast du sehr viele Anbindungen an die System-API, wird es umso schwieriger...
 
>>Das bedeutet dann also, dass die Architektur des Programms vom Compiler gesteuert wird, und somit Quellcodes plattformunabhängig laufen. So kann ein in C++ geschriebenes Programm entweder als Exe kompiliert werden oder als Linux-Variante (btw: wie genau nennen sich die Architekturen unter Win (*.exe) und unter Linux) ?

Danke für die Antworten ;-)
 
In manchen Faellen ist das so, entweder, v.a., wenn das Programm gut geschrieben ist. Oft allerdings werden betriebssystemabhaengige Eigenschaften genutzt (und oft muss das auch so sein), die nicht so ohne weiteres auf einem anderen Betriebssystem kompiliert werden koennen. Graphische Programme sind oft so ein Beispiel. Bei reinen Konsolenprogrammen ist es leichter, portablen Code zu schreiben.

Die Architektur bezieht sich auf die Hardware und hat nichts mit dem Betriebssystem zu tun. So koennen Linux und Windows auf der gleichen Architektur (z.B. x86 oder x86_64) laufen, Linux (und *BSD) laeuft allerdings auf noch ganz anderen, teilweise sehr exotischen Architekturen.
 
>>Das bedeutet dann also, dass die Architektur des Programms vom Compiler gesteuert wird, und somit Quellcodes plattformunabhängig laufen. So kann ein in C++ geschriebenes Programm entweder als Exe kompiliert werden oder als Linux-Variante (btw: wie genau nennen sich die Architekturen unter Win (*.exe) und unter Linux) ?

Danke für die Antworten ;-)
lies mal das hier. Das sollte einiges erklären.
 
>>Danke für die Auskünfte, hab jetzt nen besseren Durchblick :-)!

Kray'
 

Ähnliche Themen

Java Development Kit Installation

Zurück
Oben