Linux is a great operating system, and the C Language is the one of the most powerful programming languages. You can compile your C program with most C++ build tools as well as a number of C/C++ IDEs with compilers in all sorts of different operating systems like Windows, iOS, Android as well as Linux. C is very popular among developers in all OS platforms. Using a fast and reliable C or C++ compiler for an operating system is very important for beginners and professionals since it helps C/C++ developers in remembering which language features exist, how to use them, and even detect errors when we get them wrong.
Table of Contents
What do we mean by ‘operating system’?
An operating system is software that manages all of the hardware resources associated with your desktop or laptop and Linux is an operating system as same as Windows, iOS, and Mac-OS. Linux might be one of the most popular platforms in the world, because servers and mobiles with Android are powered by the Linux operating system. Linux is also supported by the other operating systems in VMs or in simulations. Linux is free and open source, and this has contributed greatly to its success and popularity.
Why write a C program for Linux?
There are two types of programming languages: Interpreted and Non-Interpreted (compiled). All computers work with machine code, code that can be directly understood by computer’s process, that tells the computer what to do. This is the lowest level, native and fastest code, but it requires writing many lines for simple things and is hard to generalize for all kinds of machines. A compiler (C or C++ Compiler, etc.) is a computer program that converts one programming language i.e., C/C++ code written with text into executable machine code with a linker.
GNU C/C++ compilers are the one of most popular programming platforms for the Linux operating system, but there is a good selection of different programming languages for Linux too. For example, RAD Studio / Delphi is an Object Pascal based very good non-interpreted native programming language for Linux that also has support for the Python language with GUI’s and graphics.
Despite being ‘high level’ – which means it’s easy for humans to understand – the C language is extremely efficient and when compiled it can produce programs which achieve processing speed which is very close to pure hand-written machine code instructions.
How to run a C program in the Linux Terminal with the GNU C/C Compiler ?
GNU GCC is a powerful C/C++ compiler originally written as the standard compiler for the Unix, Linux and GNU operating systems. The GNU system was developed to be 100% free software (free from cost but also free from hidden restrictions on licenses and affiliations with businesses), and it is efficient with both 32-bit and 64-bit operations. This compiler can be used on Windows using MinGW or CygWin Linux Simulators. Compiled executable files need a small dll to run independently on Windows. It is mostly compatible with CLANG standards. Please check https://gcc.gnu.org/ for more details about GNU.
You can use any text editor to create C files. Sublime Text Editor is a light editor for beginners. If you want only edit in console Vim editor is good. Eclipse CDT is a modern C++ editor for Linux. Spyder is a good editor for Python and C++. There are other C++ editors which can be used in different Linux distributions. Some of these are, VS Code for Linux, CodeBlocks for Linux, …
Here is a screen shot of a Linux system showing the Sublime Text editor, and the Linux Terminal,
Is there a simple example C program?
Here is an example of C codes,
1 2 3 4 5 6 7 8 |
#include <stdio.h> int main() { printf("Hello World !\n"); return 0; } |
Let’s explain this small example. When you start coding in C or C++, first of all, you should include libraries that you use. Generally for beginners stdio.h library is enough to do simple beginner apps. We can include this library as below,
1 |
#include <stdio.h> |
Second, you should add the main procedure (the main program, the main function) as below,
1 2 3 4 |
int main() { } |
After that you should write your programming code lines into this procedure, between { and } brackets. If you are a beginner “Hello World” examples are good to understand feature of that programming language. It is good to understand how to edit text, how to write in its format, how to compile and link, how to debug and execute, how to deploy or release. This full example below is a “Hello World” C example that can be run with C++ Builder.
1 2 3 4 5 6 7 8 |
#include <stdio.h> int main() { printf("Hello World"); return 0; } |
In C++, after every command you use you should put ; to the end of your commands. In this example above we print a text with printf() function and then we can wait to get a character input (key press) with getchar(); function if needed, then we exit and return 0; which means our main app successfully run and exit.
In this example above we define main() function as a integer (int) function, that means we should return a integer value. Here, we print a text with printf() function and then we wait to get a character input (key press) with getchar(); function, sometimes this is necessary to see results when running it. Then we exit and return 0; which means our main app successfully run and exit.
After these steps, in Terminal, go to folder of your C file and type bcc32 and your file name. Be sure that you are supervisor or allowed to save files to that folder. For example, you can compile your app as below,
How to compile a C program with GCC?
In Linux, GNU C/C++ comes as the default programming language installed. Generally, the gcc compiler is used as a C compiler and g++ compiler is used as a C++ compiler. If your c program file is myapp.c you can compile this with gcc command as below,
1 2 3 4 5 |
gcc myapp.c -o myapp.out |
Be sure that you have permission to write to folder there. Now you can easily run your myapp.out as given below,
1 2 3 4 5 |
./myapp.out |
How do I compile and run a C in the Linux terminal?
Here is the full input and output process in Linux terminal
1 2 3 4 5 6 7 8 9 10 11 12 13 |
> ls myapp.c > gcc myapp.c -o myapp.out > ls myapp.c myapp.out > ./myapp.out |
If you are looking for C and C++ Compiler for Windows, iOS or Android,
C++ Builder is the easiest and fastest C and C++ IDE for building simple or professional applications on the Windows, MacOS, iOS & Android operating systems. It is also easy for beginners to learn with its wide range of samples, tutorials, help files, and LSP support for code. RAD Studio’s C++ Builder version comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs.
There is a free C++ Builder Community Edition for students, beginners, and startups; it can be downloaded from here. For professional developers, there are Professional, Architect, or Enterprise versions of C++ Builder and there is a trial version you can download from here.
Design. Code. Compile. Deploy.
Start Free Trial
Free C++Builder Community Edition