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:

Warum verschiedene Compiler??

 
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
qbay



Anmeldungsdatum: 08.06.2008
Beiträge: 84

BeitragVerfasst am: 05.01.2010, 16:20    Titel: Warum verschiedene Compiler?? Antworten mit Zitat

hey ich wollte mal etwas Grundsätzliches fragen

Warum hat z.B. FREEBASIC verschiedene Compiler für verschiedene
Betriebssysteme?
Müsste nicht FB bei allen Betriebssystemen gleich laufen?
Und die Betriebssysteme werden doch meistens in C/C++ geschrieben
die dann auch compiliert werden, also mit einem Compiler der für garkein Betriebssystem ist, wie funktioniert das??

gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 05.01.2010, 16:31    Titel: Antworten mit Zitat

FB läuft auf allen Betriebssystemen gleich, das ist dem Compiler zu verdanken. Auch der Compiler ist auf jedem Betriebssytem annähernd gleich. Unterschiede gibt es da, wo das Betriebssytem ins Spiel kommt. Der Compiler selbst und alle seine erstellen Programme müssen sich an die Struktur des Betriebssystems halten..und die sind nunmal verschieden. So fängt eine ausführbare Datei unter Windows mit "MZ" an und unter Linux mit "elf". Diese Unterschiede ziehen sich durch das ganze Programm.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbay



Anmeldungsdatum: 08.06.2008
Beiträge: 84

BeitragVerfasst am: 05.01.2010, 16:48    Titel: Antworten mit Zitat

also würde ein FB-programm das mit dem Linux-Compiler compiliert ist
auf einem Computer laufen das vorher Windows drauf hatte aber jetzt keinen mehr??

das mit denn unterschieden in der struktur verstehe ich aber nich ganz
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
k4rsten



Anmeldungsdatum: 01.01.2010
Beiträge: 18
Wohnort: Dortmund

BeitragVerfasst am: 05.01.2010, 16:51    Titel: Antworten mit Zitat

Die Compiler passen den Ausgabecode für das Betriebssystem an. Ein mit dem Windows-Compiler erstelles Programm läuft nicht unter Linux (WINE, CROSSOVER jetzt mal ausser acht gelassen).

Da sich Systemaufrufe gerade bei Dateioperationen oder primitiven Grafikausgaben von Betriebssystem zu Betriebssystem unterscheiden, gibt es die verschiedenen Versionen.

Egal welches Betriebssystem mal drauf war, es zählt nur, welches jetzt drauf ist.

Beispiele:
    Anfang des Programms ist bei Windows MZ und bei Linux ELF
    Dateirechte werden bei Linux mit CHMOD gesetzt, bei Windows sind die Dateisystemattribute anders organisiert


Bei Sprachen wie Java oder Python wird sogenannter Bytecode erzeugt. Dieser wird von einem Interpreter / virtuellen Prozessor ausgeführt, ist aber dennoch nicht ohne weiteres im Klartext lesbar. Dafür sind solche Sachen extrem langsam, laufen aber auf allen Plattformen für die es Interpreter / virtuelle Prozessoren gibt, gleich. Freebasic erzeugt eine native Binärcodedatei.
_________________
you cannot kill what you did not create


Zuletzt bearbeitet von k4rsten am 05.01.2010, 16:58, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 05.01.2010, 16:56    Titel: Antworten mit Zitat

Ein FB Programm läuft im besten Fall ohne Veränderungen auf Windows und Linux, muss aber mit entsprechendem Compiler, der für dieses System erstellt wurde, compiliert werden.

Alle Versionen des Compilers werden aus dem gleichen Sourcecode compiliert. Da gibts auch eine Anleitung von St_W..so am Rande bemerkt grinsen

Die Struktur bezeichnet, wie das Betriebssytem ein Programm verarbeitet. Wenn du ein Programm startest, muss es ja irgendwie in den Arbeitsspeicher gelangen und Zeit bekommen ausgeführt zu werden. Die Verwaltung übernimmt die OS und (fast) jede OS macht das anders. Dadurch ergeben sich Unterschiede für die Art, wie ein Programm sein muss, damit es in diesem Betriebssytem läuft.

Ein für Linux compiliertes Programm wird ohne Betriebssystem gar nicht laufen. Wenn du sehen willst, wie FB ohne Betriebssytem aussieht. Es gibt einen Betriebssystemkernel der auf FB beruht. Heißt "FROST". Einfach mal Suchfunktion bzw. bei Sourceforge suchen und im FreeBasic-Portal gibt es auch Code eines Kernels mit Compilier-Anleitung soweit ich mich erinnere.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbay



Anmeldungsdatum: 08.06.2008
Beiträge: 84

BeitragVerfasst am: 05.01.2010, 17:00    Titel: Antworten mit Zitat

ok
also die betriebssysteme haben verschiedene Strukturen usw. und deswegen die verschiedenen compiler
ok soweit klar vielen dank

gibt es noch mehr unterschiede von denen ich wissen sollte?? grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
k4rsten



Anmeldungsdatum: 01.01.2010
Beiträge: 18
Wohnort: Dortmund

BeitragVerfasst am: 05.01.2010, 17:02    Titel: Antworten mit Zitat

Du kannst die Windows-API nicht unter Linux nutzen. Wenn du beispielsweise Fenster auf beiden OS´s darstellen willst, nimm GTK(mein Tipp) / QT /Tkinter, die sorgen für eine plattformübergreifende Darstellung.
_________________
you cannot kill what you did not create
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
qbay



Anmeldungsdatum: 08.06.2008
Beiträge: 84

BeitragVerfasst am: 05.01.2010, 17:06    Titel: Antworten mit Zitat

ok vielen dank leute grinsen

aber garnich so einfach für mich^^
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
k4rsten



Anmeldungsdatum: 01.01.2010
Beiträge: 18
Wohnort: Dortmund

BeitragVerfasst am: 05.01.2010, 19:12    Titel: Antworten mit Zitat

Wenn du das ganze noch nicht gelernt hast oder nicht verstehst, schau dir doch das erste Kapitel von dem Java-Tutorial auf Gailer-Net.de an. Das ist allgemeingültig (also nicht nur Java) und vermittelt sehr gut das Hintergrundwissen für die Softwareentwicklung.
_________________
you cannot kill what you did not create
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
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