Code Monkey home page Code Monkey logo

tranleduy2000 / c_cpp_compiler Goto Github PK

View Code? Open in Web Editor NEW
161.0 14.0 58.0 722.53 MB

GNU C/C++ compiler on Android, full offline compiler, Learn to code on the go.

Home Page: https://play.google.com/store/apps/details?id=com.duy.c.cpp.compiler

License: GNU General Public License v3.0

Java 5.93% C 23.79% Makefile 14.30% Smarty 0.01% PHP 0.01% Batchfile 0.01% C++ 49.25% Objective-C 0.71% Shell 4.69% Lua 0.01% Fortran 0.01% Assembly 0.12% Python 0.01% Lex 0.02% Yacc 0.05% DIGITAL Command Language 0.01% HTML 1.10% CSS 0.01% GLSL 0.01% CMake 0.03%
android cpp-compiler gcc c

c_cpp_compiler's Introduction

C/Cpp Compiler on Android - CPP N-IDE

C/C++ compiler for Android device using GCC compiler

google-play

This project is developed to help the community to learn C or C++ on the go.

You can use this app to code and compile C/C++ project without Internet.

Features

  • Offline C compiler
  • Offline C++ compiler
  • Native activity, SDL2 support for GUI
  • Build executables file, export your program
  • Make 4.0, makefile support, you can build as on your PC
  • Static code analysis, it helps you to fix "difficult" bugs:
    1. memory leaks
    2. mismatching allocation and deallocation
    3. uninitialized variables usage
    4. array index out of bounds errors
  • C/C++ code formatter
  • Terminal emulator: full-featured terminal
  • Git, svn support (Install by use Intall plugin features)
  • Diagnostic utility: auto jump to error position
  • Compiler output: See stdout, stderr
  • Syntax highlighting: C/C++ language and very more language (only highlight without compile)
  • C/C++ examples from https://www.programiz.com/cpp-programming/examples
  • File manager
  • Multi Tab: you can open different files in different tabs to manage editing multiple files simultaneously with ease.
  • Easy toolbar: you can quickly create a new file, open, save, save as, undo/redo, insert some commonly used symbols, go back to last edit location, etc.
  • List of recently opened files
  • Regular search, replace or replace all
  • Change the typeface and font size
  • Show line numbers
  • Show whitespace characters (tabs, line breaks)
  • Regular search, replace or replace all
  • "Word wrap" switch
  • Lock the screen orientation in auto, horizontal or vertical
  • Remember the last opened file
  • Hide the soft keyboard, long press the edit area can be turn on
  • Convert selected text to uppercase or lowercase by long pressing the "edit area"
  • Automatic indentation
  • Keep the screen awaken
  • Dark/Light Themes

How to use SDL, NativeActivity?

You need install SDL Plugin for CPP N-IDE and open it once time to install libraries. The application will be auto detect linker flags (LDFLAGS) for your source file

How to use makefile?

  1. Write your makefile
  2. Open terminal and type "make"

How to install libraries

  1. Open drawer then click "Install libraries/Plugin"
  2. Find your prebuilt libraries your need

Currently, I supported commom libraries such as curl, CLooG, dropbear, expat, fontconfig, freetype, glib, gmp, isl, conv, pcre, png, uuid, mpc, mpfr, ncurses, openssl, ppl

Android install

  • For arm devices: download app-arch_arm7-release.apk in release
  • For x86 devices: download app-arch_x86-release.apk in release

TODO

  • Code completion
  • Real-time diagnostics (warnings, errors) and suggestion to fix it
  • Static code analysis
  • Git support

Pull request always welcomed.

Screenshots

google-play google-play google-play

License

GNU GPL V3.0

Copyright (C) 2018 Tran Le Duy	

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

c_cpp_compiler's People

Contributors

tranleduy2000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c_cpp_compiler's Issues

SDL does not work!

so i downloaded the CPP N-IDE SDL plugin i don't know how to link(if you know please tell me) but then i saw you can install plugin/library straight in the app so i do it but when i run the program it flashes the terminal but nothing else happens(happens on example programs to not my error) so if you know a fix please help.

I can't change repo adress.

I like you app but I can't compile with run button when I have tried with the terminal I have
"... : not executable : magic 7F45" for all tool such as ls (I'have a workaround I use the ls of /system/bin) but there is no gcc preinstalled. I read that SO subject
so I decide to test other repo if they are aem compliant.
I go in instal librairies menu click on the chains and wants to edit to http://cctools.info/packages/armeabi and then refresh but the repo is the same. Can you fix it?

Bluetooth keyboard lose focus

这个APP,在用蓝牙键盘输入的时候,每输入一个字符,编辑框就是失去焦点,无法继续输入。

How to build executabe

I'm impressed with this app. Documentation is sparse :) How do I build an executable? Or is this build error message blocking me: "CANNOT LINK EXECUTABLE DEPENDENCIES: "libpcre.so" is 32-bit instead of 64-bit" ? My tablet is arm64.

OpenSSL link

Hi, first of all, congratulations for wonderful IDE.

I have a bug with 404 link to download openssl library. I make a search and the repository "cctools" only have the version 1.0.2 and the IDE is trying to download 1.0.3.

Project logo

Hi!
Thanks for making this project, I find it really interesting.
I realized that you don't have any logo for the project so I made this one (by combining both Android and C++ logo). Hope you like it.

Let me know what you think. If you want me to change something, or if you have something else in mind. I have the vectorized version so I can render it at any size.

Logo

Best regards,
Dknacht.

Can not get SDL2 to work!

No matter what, even the most simple examples result in a white screen popping up and closing immediately again without any log/debug message. All testet programs did run perfectly on several Linux PCs.

No Such file or folder in directory

Sometimes when i do coding in CPP N IDE. It doesn't compiles the code. It says g++;no such file in directory.
Why what is wrong with it.
Yesterday I was using loops and the problem appeared again.
Screenshot_2021-12-30-16-58-23-909_com duy c cpp compiler

Hi I found a bug on cpp N-IDE Teminal

Hi Am new to Git and would love to make friends
Although I typed sh on the CPP n-ide Terminal
and executed but had a continuation of the report (syntax error: bad situation)
Screenshot_20201228-112544

Terminal crashing!

Once the terminal is crashed it is not opening staying on the black screen with just a cursor...

C compiler error

I somehow cannot compile a C program. It also says when I download the app, C compiler is not installed properly.

Terminal Emulator

Hello @tranleduy2000

Can you please tell me, How you implement and use Terminal Emulator in your project ??
I have many projects but they are stopped because i did't understand that, How i implement this.

Please help me.

Issue during build a project

Dear Sir,
I am getting following issue :org.codehaus.groovy.runtime.metaclass.MissingMethodExecutionFailed: No signature of method: org.gradle.api.internal.file.DefaultFilePropertyFactory$DefaultDirectoryVar.getAbsolutePath() is applicable for argument types: () values: []

Project is not building successfully. Please guide.

gcc: not found

I open example "Hello world" on C language and see error: gcc: not found. What I can do?

Android studio build failed! please help

C:\Users\uxer\Documents\GitHub\c_cpp_compiler\app\src\main\jni>ndk-build
[arm64-v8a] Compile : myutils <= libutils.c
[arm64-v8a] Compile++ : myutils <= libexec.cpp
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:52:24: error: redeclaration of C++ built-in type 'char16_t' [-fpermissive]
typedef unsigned short char16_t;
^
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp: In function '_jobject* Java_com_pdaxrom_utils_Utils_createSubProcess(JNIEnv*, jobject, jstring, jstring, jobjectArray, jobjectArray, jintArray)':
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:159:49: error: invalid conversion from 'const jchar* {aka const short unsigned int*}' to 'const char16_t*' [-fpermissive]
cmd_8.set(str, env->GetStringLength(cmd));
^
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:66:10: note: initializing argument 1 of 'void String8::set(const char16_t*, size_t)'
void set(const char16_t* o, size_t numChars) {
^
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:166:49: error: invalid conversion from 'const jchar* {aka const short unsigned int*}' to 'const char16_t*' [-fpermissive]
dir_8.set(str, env->GetStringLength(dir));
^
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:66:10: note: initializing argument 1 of 'void String8::set(const char16_t*, size_t)'
void set(const char16_t* o, size_t numChars) {
^
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:188:53: error: invalid conversion from 'const jchar* {aka const short unsigned int*}' to 'const char16_t*' [-fpermissive]
tmp_8.set(str, env->GetStringLength(arg));
^
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:66:10: note: initializing argument 1 of 'void String8::set(const char16_t*, size_t)'
void set(const char16_t* o, size_t numChars) {
^
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:210:53: error: invalid conversion from 'const jchar* {aka const short unsigned int*}' to 'const char16_t*' [-fpermissive]
tmp_8.set(str, env->GetStringLength(var));
^
C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/jni/utils/libexec.cpp:66:10: note: initializing argument 1 of 'void String8::set(const char16_t*, size_t)'
void set(const char16_t* o, size_t numChars) {
^
make: *** [C:/Users/uxer/Documents/GitHub/c_cpp_compiler/app/src/main/obj/local/arm64-v8a/objs/myutils/libexec.o] Error 1

Pro version?

Is there a way to install pro version other than paying, which doesn't work since it seems that the app was taken down from Play Store?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.