Howto Compiling C program and creating executable file under Linux / UNIX / *BSD
Q. How do I compile C program and creating executable file under Linux or UNIX operating systems?
A. You need GNU project C and C++ compiler for compiling C program and creating an executable file. Most Unix and Linux (*BSD) start their C compiler by the name cc. But you can use gcc command to compile program. First make sure you have gcc installed:
Type the following command to verify that gcc is installed:
$ which gcc
Output:
/usr/bin/gcc
Find out version of gcc:
$ gcc --version
Output:
gcc (GCC) 4.0.3 20060212 (prerelease) (Debian 4.0.2-9) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
To compile C program you need to use syntax as follows:
gcc program.c -o program-output
Consider following C program:
$ vi first.c
Type the following lines (program):
#include <stdio.h>
int main(void){
printf("My first C program\n");
return 0;
}
Compile C program first.c and create an executable file called first:
$ gcc first.c -o first
OR
$ cc first.c -o first
Execute program first:
$ ./first
Output:
My first C program
However, both FreeBSD and Linux support direct make (GNU make utility to maintain groups of programs) command on C program without writing a make file.
Remove first program using rm command:
$ rm first
$ make first
Output:
cc first.o -o first
Execute program first:
$ ./first
Please note that above hack works with GNU make only.
See also:
Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
Related Linux / UNIX FAQ:
- How do I make a Linux or FreeBSD file an executable file?
- Howto see output of C program in Linux or UNIX
- How to compile program under Linux / UNIX / FreeBSD
- How do I Create files needed to build and use DLLs under Linux?
- Steps for compiling Linux kernel on SMP Itanium IA64 system
Discussion on This FAQ
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Please do not use the comment form to ask for help / question. Ask your question on the excellent Linux tech support forum. Thank you very much for stopping by our site!
Tags: bsd, c_compiler, c_program, executable_file, gcc_command, gcc_output, gcc_program, gcc_version, gnu_project, program_c, project_c, syntax, unix_operating_systems ~ Last updated on: December 9, 2007



March 21st, 2006 at 7:43 pm
Hello,
Your c code is missing the filename of the #include directive.
March 21st, 2006 at 10:50 pm
Thanks for heads up.
March 8th, 2007 at 11:14 am
Hi, I was just wondering how would you create an executable for numerous C programs? I am modifying the Windows Frotz interpreter for a college assignment with the aim to output the game data to a html page. The source for the interpreter contains numerous C files in a number of subdirectories. I have made the modifications but need to create the executable to see if it works properly. This is my first time creating an executable so i’m a bit unsure how to go about it. Any help would be greatly appreciated.
June 11th, 2007 at 10:04 am
I just want to thank you. I am 57 years old and I just started computing two years ago. I have built three towers, which is no big deal; but, I have been running a lot of different systems. I want to learn c and c++ and you have helped me a lot. I am grateful for any help I can get. I usually do stuff on my own.I still wonder what the greatest difference is between BSD and Debian other than software installation. I do think that BSD is closer to being pure UNIX than Debian, but the kernels are so alike or an I wrong? It world be nice to know. Anyway, this letter is to thank you.
June 11th, 2007 at 5:42 pm
Nice to see at 57, you are learning BSD and C/C++ development.
*BSD is under BSD vs Linux is under GPL License
Network stack
Little change in command syntax for few utilities
A BSD and Linux kernel are different and follows different development methods and approach.
Please see this post along with discussion for more info.
June 22nd, 2007 at 10:26 am
i want a C program Compiler Code In VI editor
January 22nd, 2008 at 5:51 pm
hi, i ve installed red hat linux.and trying to compile C++ prg.but getting a err msg saying that gcc not found.then i tried to see which compiler installed on my linx.To do so i am giving cmd - which
gcc - output is /usr/bin/which: - no gcc.
and i am not able to compile my prog..
plz help me in dis regard.