Tuesday, September 4, 2012

Software Releases • C4droid (C/C++ compiler) v3.53

C4droid (C/C++ compiler) v3.53
Requirements: Android version 2.1 and higher
Overview: C4droid is a C compiler for Android.

Quick manual:
If you have found a bug or app is not working, email me.

If app crashes on start, check that enough internal memory is available (not 64Kb).

Root is not required, but if you have enough internal memory OR you have rooted your device, you can get C++ support, read further. (some comments about "iostream not found" are fake, their authors just didn't follow installation instructions).

Updating from lower than 3.0 versions:
WARNING! Uninstall this app before update! Else app will crash. It's well known Android bug (details: http://code.google.com/p/android/issues/detail?id=1227).
You have been warned!

Result of compilation (binary) is placed in "/data/data/com.n0n3m4.droidc/files/temp", because sdcard doesn't have permission for execution by default.

If you have "Illegal instruction" error, using internal compiler (TCC), install GCC plugin, GCC supports softfloat (by default).

Long click save button to "save as", long click run to run with arguments.
C4droid already has almost full C language support, so you don't need to wait when it will be added.
You can to write your own applications on the Android phone, and run them. This app uses TCC and uClibc, so it has full support of ANSI C and some support of ISO C99. C4droid can be used for educational purposes or to practice in C language.
Some components of C4droid are LGPL-licensed. You can download used source code of TCC and uClibc on their websites (But TCC had been modified by me, so I recommend to email me to get modified source) C4droid includes Android Terminal Emulator so you can to run your application comfortably.

To get C++ support you need:
0) Install C4droid
1) Install GCC plugin for C4droid from Android Market.
2) Launch GCC plugin for C4droid and press "install to internal memory" (or to external if you have root rights)
3) Select G++ compiler in C4droid preferences.
4) Use "iostream", not "iostream.h"
5) Add "using namespace std;" to your program (before int main)

Tested devices:
Android Emulator 1.6, QVGA
Android Emulator 2.2, WVGA
Acer Liquid 2.2, WVGA
Herotab C8, WVGA

WARNING! All Telechips and MediaTek based devices are unsupported (Android phones/tablets from china), because of the incompatiblity with EABI. Devices without VFP (VIA) are partially unsupported too (floating point operations).

Keywords: c compiler, c interpreter, c++ compiler, GCC, c/c++ interpreter, c/c++ compiler.

What's in this version:
Email me if app won't work after update.
You need to uninstall app if updating from version lower than 3.35!
Fixed UI and Android fork() bug.
Fixed random crashes.
Updated UI, C4droid is user-friendly now =)
Added experimental Qt support using necessitas.
Added Makefile support (qmake projects are supported also).
Moved all unpack code from GCC plugin to C4droid.
Added SDL_net to GCC plugin.
Added examples to GCC plugin, now my port of dosbox can be built using C4droid (on devices with atleast 512Mb RAM).

More Info: