C4droid - C/C++ compiler & IDE

4.6
3.38K reviews
50K+
Downloads
Content rating
Everyone
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image

About this app

C4droid is the most powerful C/C++ IDE + C/C++ compiler for Android.

Features:
• Offline C/C++ compiler: create your own applications on Android device and run them even without Internet access
• Qt, SDL, SDL2, Allegro, SFML, FLTK and NativeActivity support for graphics
• Export & share your programs as APK or binaries
• Debugger with breakpoints and watches
• CMake and Makefile support: use the same build scripts as on your PC (BusyBox is included)
• Source code editor with syntax highlighting, tabs, code completion, code formatting, file association and undo/redo
• No root required (but C4droid can use it for your programs if you want)
• Full ANSI C and ISO C99 support with TCC (Tiny C Compiler) + musl libc
• Fully-functional C++ compiler, complete C++11 support with GCC
• Git integration
• Customizable GUI, choose where to place tabs and buttons by yourself, themes are also supported
• Semi-automatic open-source library porting feature for enhanced programming & education

C4droid is designed to be user-friendy out-of-the-box, but nothing is perfect, so here are some answers for questions that can appear:

How to use Makefiles, multifile projects, etc?
Long-click compile button (or select "compilation settings" if buttons are hidden/moved) and configure current directory to use the mode you want.
Note that C4droid will create .c4droid configuration file when you press Ok. Some modes (like makefile) require to enter result executable file name, don't forget to do that.
After doing that all use compile and run buttons to build and run your app as regular.

How to use graphics libraries in single-file mode?
Just install SDL plugin and select G++ compiler in C4droid preferences.
Note that C4droid chooses app mode using a very simple source code analysis:
every graphics mode is detected with corresponding include string (e.g. SDL is detected with #include "SDL.h", check bundled examples for more info). Commenting out these lines will not have any effect.
If you are compiling a single-file Qt app, you should also add #include "yoursourcefilenamewithcpp.moc" to the end of source code file also.

How to install C++ support manually?
C4droid will ask you to install C++ support at first startup and will configure itself in semi-automatic mode.
If you want to do that manually, you need:
0) Enough (100MB+) internal memory
1) Install GCC plugin
2) Select G++ compiler in C4droid preferences
Note that if you want to use C4droid as a C compiler, it is better to select GCC, not G++.

How to build and install libraries?
Almost the same way as regular Makefile building except for that most probably some patching may be required.
Currently tested libraries are gmp, mpfr, mpc, libxml2, neon, sqlite, SDL_gfx (--disable-mmx required).

Which gestures/keyboard shortcuts does C4droid support?
Long-click gestures:
New button: delete current file.
Save button: save as.
Open button: recent files.
Run button: run with arguments.
Compile button: configure current directory.
Tab: close tab.

Keyboard shortcuts:
Ctrl-C, Ctrl-V, Ctrl-X for Copy, Paste and Cut
Ctrl-S, Ctrl-O for Save/Open
Ctrl-Z, Ctrl-Y for Undo/Redo.
Ctrl-L for "go to Line"
Ctrl-F for Find
Ctrl-A for select All
Ctrl-B for Build/compile
Ctrl-R for Run
Ctrl-Space/Ctrl-D for autocompletion (Ctrl-Space may be reserved by Android)

Report bugs at n0n3m4@gmail.com.

C4droid stands for "c for android" (or "c++ for android").
C4droid is not an online compiler, so it uses real binaries.
Some binaries in APK are licensed under (L)GPL, email me for the source code (Tiny C compiler, GCC, BusyBox, etc.)
Android is a trademark of Google Inc.
Qt is a registered trademark of Digia.
Updated on
Oct 6, 2020

Data safety

Safety starts with understanding how developers collect and share your data. Data privacy and security practices may vary based on your use, region, and age. The developer provided this information and may update it over time.
No data shared with third parties
Learn more about how developers declare sharing
No data collected
Learn more about how developers declare collection
4.6
3.38K reviews
Reza Roboubi
November 13, 2022
It's excellent that everything is nicely packaged and all the graphics libraries etc are right there in the download. However, an application like this should make keys much more user friendly, and take great care to return all the error codes from the compile & run. To get precise error codes, I turn on the terminal. Then I cannot type anything! Pressing "volume up" on my phone just to get access to a tab key isn't enough! There should be better options to access the important keys.
Did you find this helpful?
A Google user
August 5, 2019
I don't know about past versions but now text editor is faulty and software developer insists on pretending this is normal. Long pressing text will select text at another position than the one where the finger is, and that can be at the beginning of the document, having to scroll over multiple pages to get back to the right position. So this is very annoying.
44 people found this review helpful
Did you find this helpful?
n0n3m4
August 5, 2019
Long-pressing text will enter selection mode exactly at the current cursor position, not just random "another position", this is important (and more handy for pasting text than default Android behavior). Luckily, double click does exactly what you want: selects the whole word at the finger position.
A Google user
November 20, 2018
Love the app! Could do with case-insensitive auto-completion as I type, without having to go through menus to the auto-complete button, and maybe also parameter hinting and scanning includes. Perhaps also an optional toolbard with come common symbols and tab which isn't present on most on-screen keyboards
25 people found this review helpful
Did you find this helpful?

What's new

Fixed a lot of bugs.
Updated GCC to 10.2.
Qt doesn't require any 3rd-party apps anymore.
Terminal can now be closed with Ctrl+X.
SDL2 now supports immersive mode.