Προς το περιεχόμενο

C++ compiler για android ;


PepePaok

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα!

Δίνω C++ το Σεπτέμβρη και ψάχνω έναν compiler για το tablet μου (asus transformer), αλλά στο android market έχει το c4droid το οποίο όμως δεν είναι δωρεάν.

Ξέρετε κάποιον άλλο;

Δημοσ.

Ό,τι βρήκα ήταν σχετικά παλιές συζητήσεις που δεν ήξερε κανείς κάτι, οπότε είπα να ρωτήσω εδώ για πιο "φρέσκα" νέα.

Για unlocked βρήκα κάτι προγραμματάκια μέσω των οποίων κατεβάζεις κάποιες paid εφαρμογές δωρεάν, αλλά απ' ό,τι κατάλαβα ήταν για ΚΑΠΟΙΕΣ εφαρμογές και όχι για όλες... :(

Δημοσ.

Χωρίς να έχω τσεκάρει τις εν λόγω εφαρμογές (συμπάθα με), μου φαίνεται απίθανο να υπάρχει interpreter/compiler για c++ σε android, εκτός και αν μιλάμε για καποιο port του gcc ή κάποιου άλλου γνωστού compiler. Είσαι σίγουρος πως όντως υποστηρίζουν αυτές οι εφαρμογές τη C++ ? Αν ναι, πως ακριβώς ;

Δημοσ.

Android C++? Java ήξερα ότι υποστηρίζει

Linux είναι το Android, άρα η "μητρική του γλώσσα" (kernel, libraries, API's, κλπ) είναι η C. Όμως το application framework του είναι φτιαγμένο να υποστηρίζει Java apps, χρησιμοποιώντας την υλοποίηση Apache Harmony που μεταξύ άλλων περιλαμβάνει JIT compilation για καλύτερες ταχύτητες αυτών των apps.

 

@ts: Όπως σου είπε ήδη ο Πάρης, χρειάζεσαι το NDK αλλά πριν από αυτό χρειάζεσαι το SDK (όπου διαβάζεις "native code" μετάφραζέ το σε "C/C++ code" ).

 

Νομίζω όμως πως θα πρέπει τον native code να τον κάνεις compile ως lib, την οποία κατόπιν θα την καλέσεις μέσω JNI (δεν είμαι όμως σίγουρος, οπότε ψάξτο)

Δημοσ.

Ρε παιδιά εννοείται ότι υπάρχουν τα android ndk κλπ αλλά νομίζω πως ο ο ερωτών θέλει κάτι τέτοιο να τρέχει ως εφαρμογή από την ταμπλετα του.

Δημοσ.

Ρε παιδιά εννοείται ότι υπάρχουν τα android ndk κλπ αλλά νομίζω πως ο ο ερωτών θέλει κάτι τέτοιο να τρέχει ως εφαρμογή από την ταμπλετα του.

Ναι, σε αυτό του απαντήσαμε. Δεν νομίζω πως υπάρχει άλλος τρόπος. Δεν ξέρω βέβαια τι παίζει με το c4android, αλλά από τη στιγμή που ακόμα και το NDK δεν φαίνεται να υποστηρίζει απευθείας εκτέλεση του native code (σε VM τον τρέχει και τον user defined native, μέσω του JNI από ότι διάβασα) το βρίσκω λίγο δύσκολο το c4android να κάνει κάτι το διαφορετικό.

 

Δεν ξέρω αν υπάρχει κάποιος τρόπος να το τρέξει natively σαν service στο μπουτάρισμα, αλλά αμφιβάλω ότι και να γίνεται είναι αυτό που ζητάει ο ts ή ότι θα τον εξυπηρετήσει σε κάτι.

 

Πάντως, επειδή δεν έχω προγραμματίσει ποτέ σε android κι ότι γράφω είναι από ότι έχω διαβάσει/ακούσει καλό θα ήταν ο ts να διαβάσει τα links που του δώσαμε, ιδιαίτερα για το NDK γιατί μπορεί να βρει καμιά άκρη (μήπως π.χ. έχουν προσθέσει υποστήριξη native εκτελέσιμου πρόσφατα).

 

Τελικά βλέπω πως το C4android περιλαμβάνει και Android Terminal Emulation, οπότε τρέχει εκεί απευθείας τα C/C++ εκτελέσιμα. TCC χρησιμοποιεί διαβάζω, αλλά υπάρχει και plugin για gcc/g++ support... καλή φάση!

 

1 ευρουδάκι ζητάει το Μαρκετ, σιγά το ποσό... δώσε το να τελειώνεις μια και καλή!

Δημοσ.

Πολύ ενδιαφέρον αυτό με το C4Android.

 

Δε ξέρω βέβαια ποσο "βαθιά" καταφέρνεις να φτάσεις αλλα για απλές ασκήσεις φαντάζομαι θα κάνει και με το παραπάνω.

 

Τώρα βεβαια μου δημιουργείται η απορία ποσο καλά συνδέεται όλη αυτή η ιστορία (των εκτελέσιμων που παράγει) με την όλη αρχιτεκτονική διαχείρισης πόρων και διεργασιών του android...

Δημοσ.

...

Τώρα βεβαια μου δημιουργείται η απορία ποσο καλά συνδέεται όλη αυτή η ιστορία (των εκτελέσιμων που παράγει) με την όλη αρχιτεκτονική διαχείρισης πόρων και διεργασιών του android...

Έκανα λίγο googling και από ότι κατάλαβα το Android Terminal Emulator εκτός του ότι είναι ένα free stand-alone app, ουσιαστικά τρέχει natively command line utilities του linux. Η λειτουργικότητά του περιορίζεται από το default Android shell, αλλά με την εγκατάσταση του BusyBox (1. https://market.android.com/details?id=stericson.busybox&hl=en, 2. https://market.android.com/details?id=com.jrummy.busybox.installer&feature=related_apps) μπορείτε να έχετε τα περισσότερα από τα standard utilities του Linux. Έχουν φτιάξει και Wiki για τον emulator, ενώ για native code production βρήκα κι ένα αρκετά παλιό άρθρο που δείχνει πως να το κάνετε με C, αλλά χρησιμοποιεί το Android Open Source Project, το οποίο το ακούω για 1η φορά και δεν έχω την παραμικρή ιδέα αν συνεχίζει να υποστηρίζεται (έχει ξεχωριστή ενότητα και για NDK).

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...