PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ein Linux Emulator für Windows?



G3n3ra1
10.01.05, 18:08
Hallo zusammen!!!

Das Thema würde zwar besser in ein Windows Forum passen, aber dort werde ich wahrscheinlich Antworten wie: "Schmeiß doch Linux runter, was willst du mit dem.....?" Deswegen habe ich mich entschieden, dass ich das Thema hier Erstelle, da hier ja viele mit beiden Betriebssystemen arbeiten...

Da ich jetzt angefangen habe an einem Programm zu schreiben, welches unter Linux läuft :), wäre es natürlich besser, wenn ich im vorne herein schon wüsste, ob es einen Linux Emulator für Windows gibt, da viele aus meinem Freundeskreis Windows haben. So bin ich in gewisser Weise gezwungen eine Windows Version zu machen.

Ich muss mich nur jetzt entscheiden, ob das ganze über einen Emulator geschehen soll, oder ob ich von vorne herein den Source Code so anpasse, dass ich das ganze via Visual Basic 6 einfach portieren kann... :cool:

Wobei ich den Emulator etwas vorziehen würde, da ich dann nicht so auf den Source Code achten muss und ein bisschen Linux-Emulieren unter Windows würde ja auch nicht schaden! :D

Oder kann ich mit Gambas eventuell direkt *.exe Dateien erstellen?

Gruß
G3n3ra1

suck
10.01.05, 18:28
"vmware" simuliert ganze Rechner (vielleicht ein wenig zu aufwendig ; ) und ist für Windows erhältlich - natürlich kostenpflichtig. Wäre Java eine Alternative?

noise_
10.01.05, 18:46
Schau dir Cygwin an.

G3n3ra1
10.01.05, 20:02
Habe mal zum thema cygwin ein wenig gegoogelt und bin auch fündig geworden:

Auf deren homepage www.cygwin.com steht gleich auf der Startseite:


Cygwin is not a way to run native linux apps on Windows. You have to rebuild your application from source if you want to get it running on Windows.

Was ist das jetzt genau? Ist das ein compiler, mit dem man Linux-Anwendugen zu Windows-Anwendungen machen kann, oder wie?

Gruß
G3n3ra1

noise_
10.01.05, 20:10
Habe mal zum thema cygwin ein wenig gegoogelt und bin auch fündig geworden:

Auf deren homepage www.cygwin.com steht gleich auf der Startseite:



Was ist das jetzt genau? Ist das ein compiler, mit dem man Linux-Anwendugen zu Windows-Anwendungen machen kann, oder wie?

Gruß
G3n3ra1

Nein, der wandelt nichts um.
Du musst deine Linux-Programme selber unter Cygwin kompilieren damit sie dort funktionieren.

delmonico
10.01.05, 21:01
Nein, der wandelt nichts um.
Du musst deine Linux-Programme selber unter Cygwin kompilieren damit sie dort funktionieren.
Jein. Cygwin bietet eine ganze Menge an Programmen wie shells, editoren, etc. fertig kompiliert und supereinfach zu installieren an.

Dellerium
10.01.05, 22:01
"vmware" simuliert ganze Rechner (vielleicht ein wenig zu aufwendig ; ) und ist für Windows erhältlich - natürlich kostenpflichtig. Wäre Java eine Alternative?

Ist auch für Linux erhältlich ;) Wir haben in der Firma zig Maschinen auf einem der Server laufen...

G3n3ra1
10.01.05, 22:41
Also wenn ich das richtig verstanden habe, dann kann man mit Cygwin seine Linuxprogramme "emulatorfreundlich" machen, und sie dann mit Cygwin starten, bleibt aber ein Linux Programm (also keine exe)!

Oder schnall' ich hier jetzt gar nix mehr? :ugly:

Gruß
G3n3ra1

P.S. VMWare ist zwar an sich eigendlich ganz gut, kann ich aber meinen Kumpels nicht zumuten, da man dafür gewisse Grundkentisse braucht und sie nicht gerade (wie soll ich sagen?) die "Experten" in Sachen Computer sind...

sirmoloch
10.01.05, 23:22
Also wenn ich das richtig verstanden habe, dann kann man mit Cygwin seine Linuxprogramme "emulatorfreundlich" machen, und sie dann mit Cygwin starten, bleibt aber ein Linux Programm (also keine exe)!

Ist es so schwer zu verstehen, dass cygwin dir eine GNU-Arbeitsumgebung unter Windows herstellt? Nicht mehr, nicht weniger.

Und jetzt kommt der Knaller: deine Binaries werden - wenn sie unter cygwin mit dem gcc kompiliert werden - zu EXE-Dateien.


Oder schnall' ich hier jetzt gar nix mehr? :ugly:

Ja, du schnallst gar nix mehr.


P.S. VMWare ist zwar an sich eigendlich ganz gut, kann ich aber meinen Kumpels nicht zumuten, da man dafür gewisse Grundkentisse braucht und sie nicht gerade (wie soll ich sagen?) die "Experten" in Sachen Computer sind...

Wer im Glashaus sitzt,... Na ok - ich lasse es...

Nachtrag:
Der erste Satz auf der Homepage von cygwin:


Cygwin is a Linux-like environment for Windows.

Nachtrag 2 - weils so schön ist:
Auch noch auf der Hauptseite von der cygwin Homepage:


What Isn't Cygwin?
# Cygwin is not a way to run native linux apps on Windows. You have to rebuild your application from source if you want to get it running on Windows.
# Cygwin is not a way to magically make native Windows apps aware of UNIX ® functionality, like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.

stefan.becker
10.01.05, 23:40
Für das, was der Fragensteller will, ist alles von Cygwin bis VMWARE absoluter Overkill, wie mit dem Space Shuttle zur Arbeit.

Das einzig sinnvolle ist ein Compiler/Toolkit, dass es für Linux und Windows gibt. Also z. B. gcc/qt.

G3n3ra1
10.01.05, 23:46
Ok, jetzt habe ich es geschnallt :ugly:

Werde es mir mal runterladen, und ausprobieren...

Vielen Dank für die Hilfe und die Geduld, die ihr mitgebracht habt! ;)

Gruß
G3n3ra1

James021
20.01.05, 16:59
Das einzig sinnvolle ist ein Compiler/Toolkit, dass es für Linux und Windows gibt. Also z. B. gcc/qt.
Hab ich das richtig verstanden: Wenn ich jetzt ein Programm schreibe, dann kann ich das mittels gcc es entweder für Linux, ODER für Windows linken?

Wie steht es da mit Pfadangeben und systemnaher Programmierung?
Ich hab nämlich vor mir C++ anzueignen.

MfG James

Thomas Engelke
20.01.05, 17:47
Wie steht es da mit Pfadangeben und systemnaher Programmierung?

Das ist systemspezifisch und damit nicht Bestandteil von C respektive C++. Systemabhängige Bibliotheken können das übernehmen. Wenn man die Teile gut kapselt, sollte da auch nicht viel schief gehen.

TME

frankpr
20.01.05, 18:51
http://www.colinux.org/

Dellerium
20.01.05, 19:02
Wieso kein Java ?? Dann erledigt sich das alles von ganz alleine .. :)

James021
20.01.05, 19:22
Naja, da ich will Programme schreiben, die an keine Grenzen gebunden sind.
Abgesehen davon, mag ich kein "Emulaterzeugs" programmieren, da ja die Performance darunter leidet.

Dellerium
20.01.05, 20:17
Naja, da ich will Programme schreiben, die an keine Grenzen gebunden sind.
Abgesehen davon, mag ich kein "Emulaterzeugs" programmieren, da ja die Performance darunter leidet.

An Grenzen bist du immer gebunden - es ist nur die Frage an welche...

Was die Performance angeht. Solange du nicht gerade nen 3D Game basteln willst sollte das das kleinste Problem sein. Java kann schnell sein, wenn man es richtig anstellt.

Auf der anderen Seite kannst du auch mit C oder VB Code erzeugen der mies ist, und langsam läuft .... lasst euch nicht veräppeln was die Performance von Java angeht ...

James021
20.01.05, 21:04
Nimms mir nicht übel, doch was ich mir nun schon seit Jahren in den Kopf gesetzt hab, wirst du mir nicht ausreden können ;)
Abgesehen davon will meinen C++ Schmöker nicht umonst gekauft haben! :mad:
In Jave kenne ich mich Nüsse aus, wärend ich in C++ schon meine ersten Schritte gewagt habe -> ein Umstieg wäre unsinnig.
Außerdem will ich mal mit meinem Pinguin reden können :D

frankpr
21.01.05, 16:23
Naja, da ich will Programme schreiben, die an keine Grenzen gebunden sind.
Dafür wäre Java fast schon ideal.

Abgesehen davon, mag ich kein "Emulaterzeugs" programmieren, da ja die Performance darunter leidet.
Java ist kein "Emulaterzeugs", sondern zählt zu den Interpretersprachen. Außerdem heißt es Emulator.

James021
21.01.05, 17:17
1) Nein, da ich in der VM gefangen bin und
2) war das ein Tippfehler.

Abgesehen davon hat es einen (guten!) Grund, warum Linux in C geschrieben worden ist und nicht in Java!

Versteht mich nicht falsch, ich will Java nicht herabsetzen, ich weiß deren Mächtigkeit zu würdigen, doch wenn ich mal als Programmierer arbeiten will, dann soll es schon was "ordentliches" sein, mit dem ich an keine Grenzen gebunden bin. Denn mit C kann ich bestimmen was geht und was nicht!

Abgesehen davon werde ich mir Java früher oder später ohnehin aneignen - schon alleine wegen meines Smartphones. Auch wenn nur als Hobby, doch erst mal einen ordentlichen Beruf ergattern (wenns was wird), dann kommt der Rest!
Denn als Mechatroniker will ich nicht enden. Und schon gar nicht da wo ich jetzt bin!

MfG james

Henni
21.01.05, 19:15
Um ein wenig OT zu werden:

Man wäre überrascht, wieviel bei den "großen" Firmen schon mit Java gemacht wird, weil der Aufwand verringert wird ;) Java sollte man also als Berufsprogrammierer schon können. (Genauso wie C, C++)

@James021 : dein Vergleich mit C hinkt gewaltig, weil C und Java komplett unterschiedliche Einsatzgebiete haben. (Ich vergleiche doch auch nicht eine Stretch Limousine mit einem Formel 1 Auto). Eher vergleichbar sind da schon C++ und Java.

BTW: willst du wirklich C++ vor C lernen? *verwundert ist* lerne lieber vorher C und dann C++. C++ ohne C Kenntnisse ist ziemlich schwierig zu lernen, weil du die C Grundlagen und die OO Konzepte von C++ zugleich erlernen musst.

Um (halb) OnTopic zu werden:

Portable zu werden bzw. zu bleiben ist oft schwerer als man denkt (man glaubt ja gar nicht, in welch lächerlichen Details sich Windows und Linux unterscheiden). An deiner Stelle würde ich anfangen kleinere Programme zu schreiben (also nicht sofort an ein 'großes' Projekt rangehen) und dann wenn du dich sicher genug fühlst erst an die großen Projekte. Versuch dabei so portable wie möglich zu sein (kompilier den Code hin und wieder auf einen Windows Rechner bzw. mach ein Cross Compiling und starte es mit Wine). Ja nicht zu große Schritte machen -> man fliegt dann garantiert auf die Nase.

lg, Helmut

James021
21.01.05, 19:30
Ich mag es extrem :D
Aber mal im Ernst: wenn ich vor Jahren ohne fremde Hilfe QBasic lernen konnte, werd ich jetzt doch sicher auch mit C++ fertig, außerdem will ich Zeit sparen.

Nuke
21.01.05, 19:55
Ich mag es extrem :D
Aber mal im Ernst: wenn ich vor Jahren ohne fremde Hilfe QBasic lernen konnte, werd ich jetzt doch sicher auch mit C++ fertig, außerdem will ich Zeit sparen.

:ugly: :ugly: :ugly: :ugly: :ugly:

Siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiicher...

Ich habe mir das malen mit Bundstiften auf selbst beigebracht. Da werd ich sicher auch leicht technischer Zeichner... ;)

Henni
21.01.05, 21:41
Ich mag es extrem :D
Aber mal im Ernst: wenn ich vor Jahren ohne fremde Hilfe QBasic lernen konnte, werd ich jetzt doch sicher auch mit C++ fertig, außerdem will ich Zeit sparen.

QBasic == C++ oder wie? Also du hast Vorstellungen.. (ich kenne QBasic).

1. ist QBasic mit C++ überhaupt nicht zu vergleichen.
2. den Syntax von C++ zu können heisst noch lange nicht C++ zu können. (C++ hat gegenüber C seine Vorteile, aber auch seine Nachteile und man muss individuell entscheiden wann man C oder C++ einsetzt)
3. C musst du sowieso lernen, wieso nicht gleich C und dann C++ _ordentlich_ lernen.

lg, Helmut

James021
22.01.05, 09:34
Mann, mann, mann, glaub ihr wirklich dass ich in den 6 Jahren, die seit meiner QBasic-Zeit vergangen sind immer noch den Verstand eines 15-Jährigen habe?!?
(Ich will mir das jetz mal nicht zu nahe gehen lassen . . .)
Abgesehen davon weiß ich nun wie eine Progranmiersprache aufgebaut ist, wie eine Syntax funktioniert, wie Schleifen, Funtionen und Unterprogramme funtionieren, wie man mit Variablen, Arrays und boolschen Operatoren hantiert.
Ich bin doch auch nicht auf den Kopf gefallen!

Ist doch eh alles das selbe! Die Befehle sind halt andere, doch ob ich jetzt mit cout, printf oder PRINT meine Ausgabe auf den Schirm bringe macht für mich Praktisch keinen Unterschied. Und wenn es dann soweit ist, dass es ans eingemachte geht, dann hab ich die Grundlagen von C++ gut genug verstanden, um mich mit komplexeren zu beschäftigen.

Ich bin ja auch nicht blöd und glaube, weil ich einmal Programiert hab, dass ich jetzt von heute auf Morgen mein eigenes Betriebsystem/Spiel/wasauchimmer in C++ programieren kann . . .


3. C musst du sowieso lernen, wieso nicht gleich C und dann C++ _ordentlich_ lernen.Das ist in gewisser Weise ein Wiederspruch in sich:
Denn wenn ich C ohnehin lernen muss, was ja auch klar ist, dann lerne ich eben nur den Teil, den ich benötige um mich in C++ voll zu entfalten zu können. Dabei will ich nix lernen, dass ich dann ja sowieso nicht brauche, bzw, will - ist doch unlogisch.

Und wenn nix geht, dann kann ich ja C noch immer nach holen, oder?

Henni
22.01.05, 10:49
Wer hat gesagt, dass ich dich für dumm halte odg? Habe ich nicht behauptet und werde ich auch nicht (und denke ich auch nicht) :-)

Das Problem das ich da nur sehe (damit bin ich 1. nicht alleine und 2. hab ich das schon oft genug erlebt) ist, dass wenn man C++ ohne C Vorkenntnisse erlernt mit den Konzepten (nicht mit dem Syntax) von C++ überfordert ist, da man ja auch noch nicht die Syntax beherrscht wie man es sollte.

Und ja, die Art wie man in C++ und C und vor allem QBasic programmieren sollte (leider programmieren viele in C++ absolut nicht OO (zwar verwenden sie Klassen, aber die dann so falsch (nicht vom Syntax sondern von der idee her) dass sie ihr Programm besser in einer nicht OO Sprache geschrieben hätten...) ist absolt unterschiedlich.

QBasic ist eine Interpretersprache und hat eher was von SH-Scripten. C ist Prozedural aufgebaut und lässt allen Seiten ziemlich viele Freiheiten. (Wenn ein int daherkommt und man eigentlich einen Pointer erwartet.. das ist C egal, macht stur weiter). C++ ist da eher schon wieder etwas eingeschränkter. C++ macht teilweise Typenkontrolle während der Laufzeit (ist das was da herkommt auch das was ich will?) und ist dementsprechend auch langsamer als C. Nimmt dem Programmierer (vor allem dank der STL die jetzt anders heisst ;) ) gewisse Dinge ab. Problem dabei ist, dass in C++ oft Designfehler durch die OO kaschiert werden können und auch oft genug kaschiert werden (viele glaube auch, das man alles in Klassen packen kann//muss und machen dann konstrukte.. da wird einem Schlecht)

Außerdem (das hatte ich ja ganz vergessen :o ) willst du ja Zeit sparen, dann musst du sowieso vorher C und dann C++ lernen. C++ zu erlernen (ohne C vorkenntnisse) dauert Erfahrungsgemäß länger als C und dann C++ zu erlernen. :-)

Naja, ich will dir das nur raten, sage nicht niemand hätte dich gewarnt dass das böse enden kann. (Böse im Sinne von Zeitaufwendig udg.). Soll ja nur ein gut gemeinter Rat eines Studenten sein ;)

lg, Helmut

James021
22.01.05, 20:37
Ich weiß, dass es nicht leicht wird, doch es wird schon schief gehen ;)
Mit meinem ach-so-tollen Hauptschulabschluss (und 2 misslungenen HTL-Jahren) , der im übrigen mehr als nur mies ist, habe ich trozdem zu beachtlichen Wissen in gewissen Bereichen geschafft. Sollte das mit dem programmieren nix werden, dann bleibt ja immer noch die Administration oder Netzwerktechnik. Eines davon werd ich ja doch noch auf die Reihe ringen ;)

Aber was solls, es wird schon schief gehen :p

P.s.: schon klar, dass du mich nicht beleidigen wolltest, die Antwort kam mir nur etwas "hart" vor.

delmonico
23.01.05, 00:17
Dafür wäre Java fast schon ideal.
Wenn man von der Begrenzung absieht, dass das nicht mit einem freien Betriebssystem möglich ist :rolleyes:

nwin5u
25.01.05, 17:13
Da gibt es ein kleines TOOL mit dem namen BOCHS. Mit bochs kann man auf jeden fall ReactOS emulieren. (Das ist ein Windows Clone) Bochs ist ein einfacher PC emulator der glaub ich unter der gpl steht. Musst ihn auf jeden fall mal ordendlich einstellen, da der sonst so zach wie ein p1 100mhz rennt!
mfg Niko

frankpr
25.01.05, 17:25
Wenn man von der Begrenzung absieht, dass das nicht mit einem freien Betriebssystem möglich ist :rolleyes:
Und warum nicht?
Da möchte ich nicht einmal bis zum Sun Java Desktop für Linux ausschweifen.

MfG