Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

exe erstellen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
srsgp



Anmeldungsdatum: 30.01.2013
Beiträge: 15

BeitragVerfasst am: 21.05.2013, 18:02    Titel: exe erstellen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 21.05.2013, 18:18    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 21.05.2013, 19:46    Titel: Re: exe erstellen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 22.05.2013, 15:52    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
srsgp



Anmeldungsdatum: 30.01.2013
Beiträge: 15

BeitragVerfasst am: 23.05.2013, 15:33    Titel: .exe erstellen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
frebas



Anmeldungsdatum: 20.06.2008
Beiträge: 245

BeitragVerfasst am: 25.05.2013, 13:52    Titel: Antworten mit Zitat

Hallo, du kannst eine VM auf dem Android Tablet ausführen. Damit kannst du Windows 95 zum laufen bringen:
http://geekyzz.blogspot.de/2013/02/how-to-install-windows-95-on-android-os.html
Alternativ könntest du DOXBox benutzen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz