How can I compile a C++ program with a command-line interface and use it under Android 2.3.5 on my phone?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
No – the model is completely different. Simple C++ programs are single threaded – they do whatever they have to do as quickly as they can in a single thread of execution and if they have to wait or block on something like retrieving data from the network then they just have to wait. They are given timeslices by a multitasking operating system and when they’re finished they’re finished.
In Android there is always one thread running which handles GUI interactions and passes the results into ‘hooks’ in your Activity instance. Anything that might block the GUI thread has to be farmed out to another thread, and call back on another method in your Activity. It’s event-driven, and you have remarkably little control or certainty about things like object lifetime. So you need to program in a completely different way.
An emulator of some kind running as an Android app could – in principle – run C++ binaries compiled for a specific VM. But as far as I’m aware such an app doesn’t exist and neither does the toolchain to produce such binaries. Google have discouraged such an approach too AFAIK. There are fully-fledged computer emulators but for obvious reasons they’re mainly old 8-bit nostalgia fests 🙂
I’m a C++ programmer who recently got involved in Android programming and I’d recommend it. You’ll think about programs in a different way from the single-threaded IFTT way you may be used to.