Mετατροπή εφαρμογών από windows σε linux.....γίνεται ;;;

thanos | Παρ, 07/11/2008 - 18:01 | 1' | 6

Γεια σας παιδιά,μπορεί να γίνει αυτό που περιγράφει ο τίτλος ;;;

Τι εννοώ,έστω ότι από ένα πρόγραμμα έχουμε τον κώδικα που είναι γραμμένος να παίζει σε windows.Πόσο εύκολο ή δύσκολο είναι η ίδια εφαρμογή να λειτουργήσει και στο linux ???

Μπορεί να λέω και βλακείες δε ξέρω αλλά κατά πόσο μπορεί να γίνει αυτό το port ???

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Υποθέτω εξαρτάται από την πολυπλοκότητα του προγράμματος καθώς επίσης και από το τί πόρους αυτό χρησιμοποιεί.

Δηλαδή αν είναι μερικές γραμμές σε C++ οι οποίες απλά γράφουν "Hello luckyb !!" στην οθόνη, θα γίνουν μια χαρά compile παντού.
Αν όμως περιπλέξουν λίγο τα πράγματα κι αρχίσουμε χρήσεις βιβλιοθηκών, γραφικών κτλ που δεν είναι ίδια στα 2 λειτουργικά, τότε δεν υπάρχει σωτηρία. Θέλει πολύ δουλειά για τη μετατροπή.
Προσπάθησα μια φορά να μετατρέψω κάτι πολύ απλό σε Visual Basic και μου'φαγε 1 βδομάδα (τα κατάφερα πάντως).

Για να γίνω και ποιο συγκεκριμένος μιλάω για το free download manager[1] για windows.Ένα προγραμματάκι που έχει τα πάντα και βολεύει αρκετά :) .Αν και δε το έχω ψάξει να φανταστώ το "δυσκολότερο" θα είναι η εναλλαγή στο γραφικό περιβάλλον,εκτός και αν χρησιμοποιεί κάτι native στα δύ ο λειτουργικά.

[1] http://sourceforge.net/projects/freedownload

--------------------

Γενικά, το «porting» δεν είναι κάτι που μπορείς να το χαρακτηρίσεις συνολικά ως «εύκολο» ή «δύσκολο». Εξαρτάται αρκετά από το τι κάνει το πρόγραμμα, τι features του αρχικού OS χρησιμοποιεί, και πόσο καλογραμμένος είναι ο κώδικας του ίδιου του προγράμματος.

Δε μπόρεσα να δω τον κώδικα από το πρόγραμμα στο sourceforge (το 'browse svn' link είναι broken), αλλά αν έχεις το source κάπου και μπορείς να μς το δώσεις να ρίξουμε μια ματιά μπορεί να κάνουμε μια «εκτίμηση» της ευκολίας ή δυσκολίας που θα έχει το porting.

Κατ' αρχήν σ'ευχαριστώ για την απάντηση :) .Τον κώδικα μπορείς να τον βρεις από εδώ

--------------------

thanos]Γεια σας παιδιά,μπορεί να γίνει αυτό που περιγράφει ο τίτλος ;;;

Τι εννοώ,έστω ότι από ένα πρόγραμμα έχουμε τον κώδικα που είναι γραμμένος να παίζει σε windows.Πόσο εύκολο ή δύσκολο είναι η ίδια εφαρμογή να λειτουργήσει και στο linux ???

Μπορεί να λέω και βλακείες δε ξέρω αλλά κατά πόσο μπορεί να γίνει αυτό το port ???

Θεωρητικά γίνεται να παίξουν όλα τα προγράμματα παντού, αλλά στην πράξη είναι αλλιώς..

τα περισσότερα προγράμματα χρησιμοποιούν system calls που δεν είναι ίδια σε windows

και σε linux

αν και μερικά έχουν ίδιο όνομα και κάνουν και ίδιο πράγμα.. εάν ένα πρόγραμμα χρησιμοποιεί

system calls για windows δύσκολα παίξει σε linux.

Μην ξεχνάς ότι binary incompatibility υπάρχει και μεταξύ μερικών unix συστημάτων.

Αυτός άλλωστε είναι και ένας από τους λόγους που υπήρχαν τόσα πολλά και διαφορετικά unix.

Τέλος παίζει ρόλο να δούμε και τι βιβλιοθήκες τρέχει κάθε πρόγραμμα και αν αυτές με την σειρά τους είναι

cross-platform και έχουν την ίδια συμπεριφορά και όλα τα παραπάνω εφόσον έχουμε και στα 2 συστήματα τον

ίδιο compiler (κατα προτήμηση τον gcc(που στην ουσία είναι συλλογή από compilers)) ώστε να μην έχουμε

προβλήματα από την σύνταξη του κώδικα και χρειαστεί να κάνουμε επιπρόσθετο hacking.

Μπορεί όλα αυτά σου φαίνοται πολά αλλά εκεί μπαίνει η java με την οποία μπορείς να γράψεις κατευθίαν

cross-platform κώδικα. Αλλά γενικά για μην το κουράσω άλλο μπορεις αν έχεις προσεγμένο κώδικα να τον κάνεις port

σε άλλες πλατφόρμες αρκετά εύκολα, και ας μην είναι γραμμένος σε java. :D