Portieren von Programmen - Was ist das und wie geht das?


Jochen3120

Still Fresh
Joined
Oct 27, 2008
Messages
73
Age
31
Website
jochen3120.jo.funpic.de
ICQ
387771490
WEBSITE
http://jochen3120.jo.funpic.de/
Hallo,
in letzer Zeit war ja sehr häufig von Portieren die Rede.
So wie ich das jetzt verstanden hab kompoliert man ein Programm unter benutzung von z.B. Pandora Headerfiles und Bibiliotheken für eine andere Architektur(z.B. ARM) neu.
Wie genau geht das und wo bekommt man die entsprechenden Dateien für Pandora her?
BTW. Ich habe schon Erfahrung mit der Programmierung nur ich habe mich noch nicht so genau mit dem Kompilieren beschäftigt.

Gruß, Jochen
 
Mit welchen Sprachen hast du dich denn schon beschäftigt. Dem Anschein nach bisher erst mit Scriptsprachen (VisualBasic-Script, Java-Script, etc.). Diese müssen nicht kompiliert werden. Anders bei den Compilersprachen, wie C, C++, C#, etc. Beim Compilen wird der geschriebene Code in Maschinen-Code-ähnlichen Code übersetzt. Wenn du ein Programm selbst portieren willst, musst du erstmal rausfinden, welche Programmiersprache die Ursprungssource hat. Eventuell hilft es den Source-Code nur noch einmal zu kompilieren. Wenn nicht, dann muss man eher dran rumbasteln: Die Bibliotheken (auch Header bei C, C++ genannt) enthalten Funktionen. Manche dieser Funktionen laufen nur auf bestimmten Betriebssystem/Prozessorarchitekturen (Beispiel: die Windows.h läuft wie der Name nur sagt auf einem Windows-Betriebssystem). Jetzt muss man die Bibliotheken ersetzen mit ARM-kompatiblen.

Wenn du selbst mal entwickeln wills, solltest du dir entweder ein Linux deiner Wahl runterladen und die verschiedenen Entwicklungsumgebungen (am besten eine für C++) austesten oder du lädst dir eine Umgebung für Windows herunter (OpenSource wäre hier: Dev-C++).
 
Mit welchen Sprachen hast du dich denn schon beschäftigt. Dem Anschein nach bisher erst mit Scriptsprachen (VisualBasic-Script, Java-Script, etc.).
Skriptsprachen stimmt größteteils, wenn du es genau wissen willst:
-PHP
-Python
-Processing
Inzwischen fange ich mit C an.
solltest du dir entweder ein Linux deiner Wahl runterladen
Ich setze seit Weihnachten nur noch openSUSE ein. Vorher hatte ich nebenbei noch ne XP Partition, davon möchte ich mich aber distanzieren.
Als "Entwicklungsumgebung" für C habe ich bis jetzt immer KWrite eingesetzt.
Bitte nicht drüber lachen aber der ganze unsinn von Programmen wie KDevelop nervt mich nur.
Bis das angepasst und konfiguriert ist, ist das Programm schon halb fertig.
Wie du auch richtig mitbekommen hast stehe ich sehr auf OpenSource :oops: .
Jetzt muss man die Bibliotheken ersetzen mit ARM-kompatiblen.
Wo bekommt man die passenden genau her und wie macht man das?

Gruß, Jochen
 
Jochen3120 said:
Als "Entwicklungsumgebung" für C habe ich bis jetzt immer KWrite eingesetzt.
Bitte nicht drüber lachen aber der ganze unsinn von Programmen wie KDevelop nervt mich nur.
Etwas Off Topic zwar, aber das muss ich kurz loswerden. Wenn du gerne mit KWrite programmierst solltest du dir mal Kate anschaun. Wer KWrite mag wird Kate lieben.
 
Jochen3120 said:
Jetzt muss man die Bibliotheken ersetzen mit ARM-kompatiblen.
Wo bekommt man die passenden genau her und wie macht man das?

Gruß, Jochen

Hallo Jochen,

naja es sind ja nicht nur die Bibliotheken. Ganz einfach ausgedrückt, wenn Du ein Programm für den PC auf den gp2x/wiz/pandora portieren willst, dann ändert sich ja ganz grundlegend die Handhabung. Keine Maus dafür Stick und/oder Touchscreen. Alleine hier hängt schon ne ziemliche Menge an Arbeit. Dann noch die "Kleinigkeit" von Grafikanpassung (Runterrechnen auf die kleinere Auflösung oder ganz Neuzeichnen müssen) Abspecken der Soundeffekte und Musik um die kleinere CPU nicht zu überlasten etc. etc. etc. Der andere Ansatz hat genauso viel Arbeit intus: Portiere mal ein Programm vom Palm auf den gp2x. In Ermangelung eines Grafikers hab ich mich mal an ein Spiel rangewagt was ich auf dem Palm liebe. Der Palm hat aber einen Touchscreen mein gp2x/f100 leider nicht. Die komplette Menüstruktur gehört somit umgeschrieben. Das alleine ist (im Moment geschätzt) mehr Arbeit als den Kern des eigentlichen Spiels zu übersetzen.

Ich hab die Erfahrung in den letzten 10 Jahren mit diversen Projekten gemacht, das es meist der einfachere Teil ist, den Source anzupassen, aber das dicke Ende wartet normalerweise immer dann wenn es um Grafik oder Sound/Musik bzw. die Handhabung geht.

Der Port eines Programms hängt also nicht nicht nur davon ab den Quelltext und die passenden Librarys samt einer schicken Entwicklungsumgebung zu haben (vi unter Unix lässt grüßen) sondern vor allem davon, den o.a. Rest sauber umsetzen zu können.

Nicht ins Bockshorn jagen lassen, aber das portieren von Programmen kann sich zu einer ziemlichen Arbeit ausweiten.

Trotzdem beste Grüße

Croaker
 
Back
Top