 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
srsgp
Anmeldungsdatum: 30.01.2013 Beiträge: 15
|
Verfasst am: 21.05.2013, 18:02 Titel: exe erstellen |
|
|
Hallo, habe ein kleines Programm für meinen sportlichen Sohn geschrieben, das seine Rundenzeiten z.B. für 20 Runden anzeigt.
Nun möchte ich dieses Programm in eine exe verwandeln und auf einem Tablet laufen lassen.
Wie erstelle ich dieses Programm als exe, wird es auch auf einem Tablet mit Android laufen?
Danke für Eure Hilfe
srsgp |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4703 Wohnort: ~/
|
Verfasst am: 21.05.2013, 18:18 Titel: |
|
|
Sobald du das Programm compilierst, erhältst du eine exe. Anders kannst du ein FreeBASIC-Programm gar nicht zum Laufen bringen - wenn es läuft, hast du vorher schon eine exe erstellt. Das einzige, was sein könnte, ist dass du die "QuickRun"-Option nutzt - in diesem Fall wird eine temporäre exe erstellt, ausgeführt und nach der Ausführung wieder gelöscht. In diesem Fall also nicht QuickRun, sondern normal Compilieren.
Mit Android kenne ich mich nicht aus; allerdings hat das einen Linux-Kernel, d. h. eine exe wirst du damit wohl nicht ausführen können. Vielleicht ist da ein Linux-Compilat deines Programms erfolgsversprechender, aber da können dir andere sicher mehr dazu sagen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 21.05.2013, 19:46 Titel: Re: exe erstellen |
|
|
Hallo!
srsgp hat Folgendes geschrieben: | Wie erstelle ich dieses Programm als exe, wird es auch auf einem Tablet mit Android laufen? |
Die Dateiendung EXE kann entweder für ein DOS-Programm oder für eine Windows-Anwendung stehen. Eine EXE-Datei enthält in beiden Fällen ein Maschinenprogramm, das vom Prozessor ausgeführt wird. Bei EXE-Dateien sind das x86- bzw. x86-64-Prozessoren (bestimmte andere CPUs von früher mal ausgenommen).
Ferner werden bei Windows-Anwendungen immer Komponenten des Windows-Betriebssystems referenziert. Du musst dir das so vorstellen, dass eine EXE-Datei, die etwas auf deinem Bildschirm ausgibt (z. B. eine Tabelle mit Rundenzeiten), nicht etwa einen Treiber für deine Grafikkarte und deinen Bildschirm beinhaltet. Auch enthält deine EXE-Datei keine eigene Speicherverwaltung und keinen Maus-Treiber. Stattdessen verweist das Maschinenprogramm an vielen Stellen auf Betriebssystemfunktionen.
Diese Betriebssystemfunktionen sind betriebssystemspezifisch. Das heißt, ein Binärprogramm für Apple Mac OSX kannst du nicht unter MS-DOS ausführen und ein Windows-Programm nicht unter Android/Dalvik.
Android ist ein Betriebssystem, das auf Linux basiert, und für mobile Geräte gedacht ist. Windows-Anwendungen (EXE-Dateien) kannst du darauf nicht ausführen. Android benutzt die sog. Dalvik VM für seine Programme. Auch steckt in Android-Geräten wie Smartphones und Tablets üblicherweise kein x86-Prozessor (sowas Intel-artiges), sondern etwas in der Richtung ARM. Das ist ein völlig anderer Prozessortyp, der andere Maschinenprogramme benötigt. Die Anweisungen, die ein Intel-Prozessor wie der i386 verarbeiten kann, versteht so ein ARM-Prozessor nicht. Und umgekehrt. Zudem stehen unter Android auch die Windows-Betriebssystemfunktionen nicht bereit, auf die deine EXE-Datei intern verweist. Wenn sich beim Starten deiner EXE-Datei unter Windows ein Fenster öffnet, dann sendet nicht dein Programm direkt elektrische Impulse an den Bildschirm, sondern dein Programm ruft etwas auf wie "Windows-Funktionssammlung: Mal ein Windows-Fenster!". Das hat natürlich in der Realität keinen solchen deutschen Prosa-Namen, sondern heißt CreateWindowEx und so, aber ich denke, das Prinzip sollte klar werden.
Deshalb ist es nicht möglich, die Windows-Programme, die dein FreeBASIC-Compiler unter Windows erzeugt, auf einem Android-Tablet oder -Smartphone auszuführen. Windows-EXE-Dateien sind keine Apps für Mobilgeräte.
Auch Linux-Anwendungen, die FreeBASIC erstellen kann, sind nur für x86-kompatible Prozessoren geeignet und setzen ein "normales" Linux voraus. Die Binärdateien, die der fbc unter Linux erzeugt, können ebenfalls nicht als Apps auf Android-Mobilgeräten ausgeführt werden.
Wenn du Anwendungen für Smartphones und Tablets mit Android entwickeln möchtest (sog. "Apps"), benötigst du eine spezielle Entwicklungsumgebung für Android, das sog. Google Android SDK. (In Zukunft wird es übrigens auch ein "Android Studio" als integrierte Entwicklungsumgebung geben.)
Android-Anwendungen werden in Java geschrieben, wobei einige Spezifika zu beachten sind. Es entstehen dabei auch keine "richtigen" Java-Programme, sondern welche für eine spezielle Android-VM. Dementsprechend funktionieren die Android-Java-Programme nicht exakt wie normale Java-Programme.
Wenn du für Apples iPhone oder iPad entwickeln möchtest, brauchst du sogar einen Mac oder ein MacBook, jedenfalls irgendwas mit Mac OS X. Auch da braucht man dann eine spezielle Entwicklungsumgebung (XCode) und muss in der speziellen Apple-Sprache "Objective-C" programmieren.
Fazit: Auf Mobilgeräten - egal, ob Apple oder Android - kann man keine normalen Windows-Programme ausführen. Dies scheitert sowohl daran, dass das Betriebssystem nicht kompatibel ist als auch daran, dass völlig andere Prozessoren verbaut werden als in normalen PCs.
Eine Alternative zur nativen Mobilentwicklung mit Java/Dalvik (Google Android) und Objective-C (Apple iOS) ist die Verwendung von Webtechnologien. Man kann heute mit HTML5, JavaScript und Frameworks wie jQuery Mobile einiges plattformübergreifend entwickeln (siehe auch Phonegap/Cordova). Allerdings steht damit nur ein beschränkter Funktionsumfang zur Verfügung, verglichen mit nativ ablaufenden Apps.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 22.05.2013, 15:52 Titel: |
|
|
Mit einigem aufwand ist es durchaus möglich ein mit FreeBASIC geschriebenes Programm auf einem Andoid Tabled / Phone zum laufen zu brignen, wenn:
1. Linux als Target gefählt wird
2. Das SMartphone / Tablet einen x86 Prozrssor (z.B. Atom) besitzt
und
3. eine eigene rtlib und gfxlib statisch einkompliert wird
Dann ist es prinzipiel schon machbar.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
srsgp
Anmeldungsdatum: 30.01.2013 Beiträge: 15
|
Verfasst am: 23.05.2013, 15:33 Titel: .exe erstellen |
|
|
Danke nemored, ThePuppetMaster und Sebastian für eure schnellen Antworten.
Sebastian hat ja eine kleine Vorlesung gehalten, die den Sachverhalt sehr verständlich und umfassend erklärt.
Nochmals vielen Dank an alle, für eure Mühe.
Gruß srasgp |
|
Nach oben |
|
 |
frebas
Anmeldungsdatum: 20.06.2008 Beiträge: 245
|
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|