19Oct 07
Μετατροπή κώδικα C / C++ σε Actionscript
Published by stelabouras in Coding, Internet, Network, Tech, Videos
Αν και έχω αρκετές απορίες σχετικά με το πως μπορεί να γίνεται κάτι τέτοιο, ο Ryan Stewart, software engineer στην Adobe κατάφερε να δημιουργήσει μια τεχνική, σύμφωνα με την οποία μπορεί να μετατρέπει οποιονδήποτε (?) κώδικα γραμμένο σε C / C++ (και όπως ισχυρίζεται και ο ίδιος ακόμη και σε άλλες γλώσσες), σε Actionscript και κατά επέκταση σε Flash, Air ή Flex εφαρμογή!
Οι εφαρμογές αυτές μπορούν να τρέχουν χωρίς πρόβλημα στον νέο Flash Player 9 που πρόκειται να κυκλοφορήσει σύντομα και αν κάποιος μεταφράσει ακριβώς τα λόγια του δημιουργού (που παρουσίασε ένα demo της όλης προσπάθειας, στα πλαίσια του Adobe Max, με τον κώδικα του Quake να τρέχει σε Flash και το πλήθος να παραληρεί) οποιοσδήποτε κώδικας γραμμένος σε C / C++ μπορεί να μετατραπεί, εκτός και αν κάνει κλήσεις σε εξωτερικές βιβλιοθήκες που μπορεί να μην υποστηρίζονται από τα εργαλεία. Εξηγώντας περαιτέρω την τεχνική κατασκευής αυτών των εργαλείων, ο Ryan ανέφερε πως απλά έκανε κάποιες αλλαγές στον LLVM (Low Level Virtual Machine) Compiler ώστε αντί να παράγει κανονική assembly, παράγει low-level Actionscript κώδικα.
Μέχρι να κυκλοφορήσει κάτι πιο απτό, θα έχω μια συγκρατημένη αισιοδοξία για το όλο project.
Comments (5)
Αν και δεν είδα το βίντεο, κάτι τέτοιο γίνεται γράφοντας ένα back-end για κάποιον compiler. Θα μπορούσαμε δηλαδή να πάρουμε τον GCC και να τον κάνουμε να παράγει ActionScript από πίσω! Τότε μάλιστα θα είχαμε αυτόματα και fortran για Flash και ο,τι γλώσσα υποστηρίζει ο GCC για front-end. Το πρόβλημα θα είναι πάντα οι βιβλιοθήκες που χρησιμοποιείς, θα πρέπει και αυτές να γίνουν compile κατά τον ίδιο τρόπο. Ακόμα και η libc…
Χάρη, όντως αυτό κάνει το εργαλείο, απλά είναι λίγο ασυνήθιστο να βλέπει κανείς ένα τόσο complex C++ code όπως η μηχανή του Quake να γίνεται τόσο απλά και γρήγορα transform σε actionscript! Φαντάσου να γινόταν και η Sylphis3D ;)
Sylphis3D σε Flash! ΚΟΛΑΣΗΗΗ!! :) :Ο
Whats up! I just want to give a huge thumbs up for the nice information
you have right here on this post. I will probably be coming again to your weblog for extra soon.
I am regular visitor, how are you everybody? This paragbraph posted at this
webb page is actually fastidious.