PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : win code -> linux code neu compilierung ?möglich



spaci76
02-10-2002, 10:10
hi,

also mal ne frage .. ein programm was in window source code c++ geschrieben worden ist um zumödeln so das es auch auf linux läuft gibs sowas? bzw geht sowas .. ohne groß artig was daran zu verändern??


danke im vorraus

cu spaci76

anda_skoa
02-10-2002, 10:20
Das hängt davon ab, wieviel plattformabhängiger COde enthalten ist.
Das kann Compiler abhängiger Code sein, oder Benutzung einer API, die nur auf einer Plattform existiert.

Wenn Windows API benutzt wurde, dann muß man entweder (1)alle diese Teile durch #ifdef in einen Windows Teil und einen Linuxteil splitten, oder (2) man benutzt eine Crossplattform Bibliothek, die das intern macht, oder (3) man portiert mit Hilfe der winelib.

Letzteres geht am schnellsten, kann aber Performanceprobleme machen ud geht nicht 100% für alle Windows Funktionen.
DIe erste Möglichkeit ist mehr so Theorie, wer sich das antut ist selber Schuld, zumal es die Möglichkeit 2 gibt, wo das schon ein anderer getan hat.

Ciao,
_

spaci76
02-10-2002, 10:26
hi,

das ging aber fix,

also das mit wine hab ich schon getestet und der mag net .. ich will da auch kein hel draus machen die software ist EMULE und die gibs nur in win bisher :(

soweit ich das mit bekommen hab brauch man dazu folgendes:
Zum Kompilieren braucht Du unbedingt

MS Visual .net, da dort das notwendige VC++ 7.0 drin ist.
SP2 für .net ist mehr als sinnvoll

in wie fern das zu realisieren ist in mir net bekannt :( windoof halt

cu spaci76

anda_skoa
02-10-2002, 11:15
Original geschrieben von spaci76
das ging aber fix,


bei mir immer :D



also das mit wine hab ich schon getestet und der mag net .. ich will da auch kein hel draus machen die software ist EMULE und die gibs nur in win bisher :(


Was hast du probiert? Wine oder Winelib?



MS Visual .net, da dort das notwendige VC++ 7.0 drin ist.
SP2 für .net ist mehr als sinnvoll


Hmm, sagt ansich nichts darüfber aus, wie stark die Bindung an Windows spezifische Sachen ist.
Aber wahrscheinlich benutzen die MFC.
In dem Fall ist es eh SSKM (Selbst Schuld, Kein Mitleid :)

Wunder mich immer wieder, dass das eine Fimra benutzt.
Ist wahrscheinlich das schlechteste Toolkit auf der Plattform.



in wie fern das zu realisieren ist in mir net bekannt :( windoof halt


Wie schon gesagt, es hängt davon ab, wie stark die Abhängigkeit von Windows ist.
Einige Firmen, die schnell eine Linux Verison haben wollten, benutzen die Winelib.
Der Erfolg war eher becheiden, weil die Software eben nicht den Ansprüche der User gerecht wurde.
Aber bei Kylix hat es immerhin gereicht, um präsent zu sein und die Leute auf die Native Version zu vertrösten.

Das ist wahrscheinlich auch der Hauptzweck von Winelib Portierungen.
Praktisch wie eine Public beta, bevor das richtige Profukt kommt.

Ich kenn die Software nicht um die es geht (hat du eine Link?), aber je nachdem, wie stark die Abhängigkeit von Hardware oder 3rd Party libs ist, kann eine Crossplattform Entwicklung vom Aufwand praktisch gleich sein, wie eine Monoplattform Entwicklung.

Die Firma in der ich arbeite macht aus Prinzip Crossplattform Software.
Wir haben keine speziellen Zusatzhardwaresachen für den Großteil der Produkte, darum geht das.

Der Aufwand für uns Entwickler ist gleich wie wenn wir nur eine Plattform bedienen müßte.
Es kommt vielleicht einmal die Woche vor, dass wir eine Stelle im Code ändern müssen, weil sie nicht auf allen Plattformen gleich läuft.
Und in vielen dieser Fälle ist es kein Problem mit der API, sondern ein Problem unterschiedlicher Prozessorarchitekturen.

Den Vorteil hat man halt nur, wenn man neue Software entwicklt.
Bei alter SW sitzt man bis zum nächsten geplanten Rewrite in der Patsche.

Ciao,
_

Lin728
02-10-2002, 11:41
Ich kenne deine Anwendung, und was sie macht, und ich kann dir sagen, dass ohne Rewrite-Port (also alles neu schreiben und anpassen) da nichts zu machen ist.

spaci76
02-10-2002, 11:53
hi,

also linuxhippy das ist hier was anderes ... der link lautet



nur das wegen dem anderen das sind 2 paar schuhe

cu spaci76

anda_skoa
02-10-2002, 12:11
Ah, bei einem Open Source Projekt kann man eine halbherzige Portierung mittels Winelin vergessen, da macht man am besten gleich eine Crossplattform Software, oder forkt und portiert, wenn die Originalentwickler stur sind :)

Hmm, wenn die Annahme stimmt, dass die GUI in MFC gemacht ist (mein Mitleid ist den Entwicklern gewiss), dann müßte man versuchen, eine gute Trennung zwischen GUI und Core zu erreichen.

Der Core könnte dann leicht portabel gemacht werden.

Ist das ein Monolith? gui+Core in einem Programm?
Oder geteilt, wie der eDonkey Client für Linux?

Btw, seit wann gibt es das eDonkey Protokoll für exterene Entwickler?

Falls du Kontakt zu den Entwicklern von eMule hast:
ein "About" wäre nicht schlecht. Man muß auf die Sourceforge Seite gehen, um rauszufinden, was das Ding eigentlich ist :rolleyes:

Ciao,
_

spaci76
02-10-2002, 14:08
hi,

hier ist die sourceforge addy:

http://sourceforge.net/projects/emule/


hmm könnt ihr damit was anfangen ?

cu spaci76

Lin728
02-10-2002, 15:16
Soweit ich gesehen habe, ist das einfach ein edonkey-client. Die gibt es zuhauf für Linux, vieleicht zwar nicht mit diesem Funktionsumfang, aber egal.

spaci76
02-10-2002, 19:36
hi linuxhippy,

weil ich schon edonkey,mldonkey,overnet ausprobiert hab und alle sau langsam geworden sind ..dieser welche soll das entscheidt schneller sein ... habs auch schonmal auf winrechner laufen sehn .. mit spitzen werten.. allerdings war es auch beim overnet(win) auch der fall aber auf linux voll der flop :(((

fällt dir noch einer ein?

cu spaci76

Lin728
02-10-2002, 20:26
PS: Da gäbs noch Limewire...

spaci76
02-10-2002, 22:10
hi linuxhippy,

also ich hab mal dein rat befolgt und hab limewire getestet .. sieht ja sehr schön aus *wirklich* wünschte ich mir bei mehreren proggis so ;) aber der findet nur mp3 das ist leider nix für mich ...

sorry .. hmm

noch ein vorschlag?

cu spaci76