Best app overall
If your iOS device is jailbroken and you enable tweaks for this app, I recommend changing the CompilerOptions.UseJITExecution from 0 to 1 inside the app_config.txt file and changing the default compiler to clang for c and c++. It works perfectly for opengl, sdl2 and openal. There is no reason not to do so, unless you prefer to use the default custom compiler, which I have to admit is pretty good.
Very nice
Serious Problem When Used on iPad Pro 2020
What happened?
I got the full $13.99 version when I had iOS 13, and it works well.
I have now a second iPad, and my same code, which I wrote
explicitly to not be platform/compiler dependent, nevertheless
fails to run with the exact same results as my old version, yet with all the same inputs. My code depends on the module operator a lot, and I did read one review somewhere that the module operator does not work. Well, the module operator must work on the compiler version I spent $13.99 on, because my code works well with that version. Is the $13.99 version even available now? Is it the version with the curly brackets rather than the version with the square brackets? I have tried both, and both fail in the same way as to outputs. Frustrated!
Mobile c
Not very useful
Second, is there no way to create a project? What use is this app beyond simple hello world crap?
The completion is nice. Syntax highlighting is a plus but everything pretty much as that.
I don’t understand this useless IDEs existence, or any of the others in the “app store” for that matter.
My friend bought this and gifted to me. I am glad none of my money was wasted on it.
C++ 20 is coming soon!
fscanf and fgets are broken in free and $14 version of Mobile C
It gets 4 stars when these bugs are fixed. If they implement separate compilation then it gets 5 stars.
I tried the free version and it had these two bugs. I thought that (maybe) the developer intentionally limited the capability, so I purchased the ~$14 version. Same bugs! Here’s the code, the input and the result. The workaround was for me to use fgets but put a bogus record at the top, fgets and ignore it. However, fscanf is just plain broken. The same code works just fine on other C compilers, e.g., gcc under Linux, mingw32-gcc under Code::Blocks.
// fin1.c: Dr. J. Morris
// read values from data file via fscanf
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main(void) {
double y[N]; // data loaded in this array
FILE *ifp; // input file pointer
int n; // number of items fscan'ed
int i; // array index
// open & error check files
if((ifp = fopen("rawdata.dat","r")) == NULL) {
perror("Error opening input file: ");
exit(EXIT_FAILURE);
}
// read data into array, echo to console
printf("fin1: fscanf is broken\n");
printf("raw data (%d values):\n",N);
for(i=0; i<N; i++) {
n = fscanf(ifp,"%lf",&y[i]); // BROKEN!
printf("n = %d, y[%d] = %6.2lf\n", n, i, y[i]);
}
fclose(ifp); // close file
exit(EXIT_SUCCESS); // exit program
}
rawdata.dat
50.1
100.2
0.2
105.5
20.3
20.0
10.0
200.0
205.0
30.0
Console output
fin1: fscanf is broken
raw data (10 values):
n = 0, y[0] = 0.00
n = 0, y[1] = 0.00
n = 0, y[2] = 0.00
n = 0, y[3] = 0.00
n = 0, y[4] = 0.00
n = 0, y[5] = 0.00
n = 0, y[6] = 0.00
n = 0, y[7] = 0.00
n = 0, y[8] = 0.00
n = 0, y[9] = 0.00
// fin2.c: Dr. J. Morris
// read values from data file via fgets
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10
#define M 25
int main(void) {
double y[N]; // data loaded in this array
char b[M+2]; // we'll fgets into this buffer
FILE *ifp; // input file pointer
int i; // array index
// open & error check files
if((ifp = fopen("rawdata.dat","r")) == NULL) {
perror("Error opening input file: ");
exit(EXIT_FAILURE);
}
// read data into array, echo to console
printf("fin2: first fgets/atof is broken\n");
printf("raw data (%d values):\n",N);
for(i=0; i<N; i++) {
fgets(b, M, ifp); // entire line into buffer
b[strlen(b)-1] = '\0'; // nuke newline
y[i] = atof(b); // ascii to double
printf("b = % 5s, y[%d] = %6.2lf\n", b, i, y[i]);
}
fclose(ifp); // close file
exit(EXIT_SUCCESS); // exit program
}
Console output (first value is not correct)
fin2: first fgets/atof is broken
raw data (10 values):
b = 50.1, y[0] = 0.00
b = 100.2, y[1] = 100.20
b = 0.2, y[2] = 0.20
b = 105.5, y[3] = 105.50
b = 20.3, y[4] = 20.30
b = 20.0, y[5] = 20.00
b = 10.0, y[6] = 10.00
b = 200.0, y[7] = 200.00
b = 205.0, y[8] = 205.00
b = 30.0, y[9] = 30.00
Very good
Awesome mobile IDE
Twitchy,,,
All the other languages are more device specific, with singularly dedicated apps.
As such this is an excellent try at building a vanilla system through all apple vehicles. And deserves much support. I like.
It’s build is ongoing, and by a single developer, impressive effort —so support it.
Currently I have found the other review quite wrong. Except the one about #include<upstream.h> missing. That needs fixing..🔚
Still good under iOS 12, and Mohave. Tried to paste demo program approx 130 lines of proof code, but review wouldn’t allow this...
Handy C Compiler
Awesome.
(Speaking as someome that was only ever taught C++ in school, and only discovered the power of C in the last year)
The best way to code
Amazing
iCloud sync
I use this app on both iPhone and iPad but I can't have all my codes on both of them.
Thank you !✋🏻
Anonymous
The feature list continues to grow. I am absolutely delighted with this app. It's my personal favorite. Good job!
Amazing! Life changing
Since then I have spent many hours a week learning C, writing programs and testing them out on this app. I'm not a master yet but I have learnt so much thanks to this app.
Thank you to the developer of this app. It really has changed my life. The update from yesterday was awesome, with code complete and a much better keyboard layout. I look forward to future updates!
I highly recommend this app to anyone who is tired of wasting their time with pointless games and wants to actually learn a skill and test their brain.
