DEV Community

Discussion on: How To Run C Programs on Android

 
koouty profile image
Kouty

No error but doesn't compile

Thread Thread
 
bauripalash profile image
Palash Bauri 👻

there must be something to identify the problem, without knowing the bug I can't help you to debug it.

Thread Thread
 
koouty profile image
Kouty

Here is a pasted text from Termux
$ gcc -o mult.c
clang-8: error: no input files
$ clang -o mult.c
clang-8: error:

Thread Thread
 
bauripalash profile image
Palash Bauri 👻

Ah, seems your source code is not in Termux home path. You should copy your mult.c file to Termux home directory

Thread Thread
 
koouty profile image
Kouty

How can I make this?

Thread Thread
 
bauripalash profile image
Palash Bauri 👻

Copy - paste

Thread Thread
 
koouty profile image
Kouty

$ clang -o condition.c
clang-8: error: no input files
$ cd
$ ls
Filename eaain herbe.rb
conditiond.c eaain.c termux-sudo
downloads essain.c
$ pwd
/data/data/com.termux/files/home
$

Thread Thread
 
koouty profile image
Kouty

And this is in the path, right?

Thread Thread
 
bauripalash profile image
Palash Bauri 👻

Ah now I understand.
Just Remove -o and it should work fine.
Do this clang condition.c

Thread Thread
 
koouty profile image
Kouty

I reinstalled Termux, clang and nano to write files. I wrote and saved a file in rb and a file in C. Note that I wrote in the Termux path and here is the result.I can run easily Ruby files but for c I don't reach out the expected result.

Setting up ruby (2.6.5) ...
$ nano simple.rb
$ ruby simple.rb
hello
$ nano simple.c
$ nano simple.c
$ clang nano.c
clang-8: error: no such file or directory: 'nano.c'
clang-8: error: no input files
$ clang simple.c
$ clang simple.c -o simple
$ ls
a.out downloads simple simple.c simple.rb storage
$ clang simple.c
$ clang -o simple.c
clang-8: error: no input files

Thread Thread
 
bauripalash profile image
Palash Bauri 👻

C is a compiled language and It seems simple.c is compiled.
Just Run the binary simple with $ ./simple

Thread Thread
 
koouty profile image
Kouty

It works! So, if I understand, after the clang action, A compiled file is created, and I need to open it with prompting it, the same name of file without the ".c" at the end of the name. And to make this I need to type "./filename". Right?

Thread Thread
 
bauripalash profile image
Palash Bauri 👻 • Edited

Partially.
Look, C is a compiled langauge, and Clang is a compiler unlike Python or Ruby which are interpreted language.

When you type the command clang simple.c , clang takes the source code and compiles it into machine code into a.out (a.out is default output name) and to run the program you must execute the binary like this $ ./a.out

And you can name the output binary anything you like by simply passing the -o flag, the syntax is like this :

$clang <SOURCE_CODE> -o <OUTPUT_NAME>

Thread Thread
 
bauripalash profile image
Palash Bauri 👻

@koouty , seems like you're new to C , I would recommend watching some Beginners' Tutorial and Reading some tutorials available on internet.

Thread Thread
 
koouty profile image
Kouty

Many many thanks.

Thread Thread
 
bauripalash profile image
Palash Bauri 👻

If any need any further help you can just DM me

Thread Thread
 
koouty profile image
Kouty

👍