gcc – C/C++ Based Compiler

GCC (GNU Compiler Collection) is a C/C++ based compiler that is used to compile source code into executable files. It is a free and open-source compiler that is widely used in the Linux environment. GCC supports a variety of programming languages including C, C++, Objective-C, Fortran, Ada, and others.


The basic syntax of the gcc command is as follows:

gcc [options] [source files] [object files] [-o output file]

Here, options are the various options that can be used with the gcc command, source files are the source code files that need to be compiled, object files are the pre-compiled object files that need to be linked, and -o output file is the name of the output file that will be generated.


  1. To compile a C program named hello.c:
gcc hello.c -o hello

This will compile the hello.c file and generate an executable file named hello.

  1. To compile a C++ program named hello.cpp:
g++ hello.cpp -o hello

This will compile the hello.cpp file and generate an executable file named hello.

  1. To compile multiple source files:
gcc file1.c file2.c -o output

This will compile file1.c and file2.c and generate an executable file named output.


The following table lists the most commonly used options for the gcc command:

Option Description
-c Compile source files without linking
-E Preprocess source files and output the result
-g Generate debugging information
-O Optimize the generated code
-Wall Enable all warning messages
-I Add a directory to the include path
-L Add a directory to the library path
-l Link with a library
-D Define a macro

Troubleshooting Tips

  1. If you get an error message that says “gcc: command not found”, it means that gcc is not installed on your system. You can install it by running the following command:
sudo apt-get install build-essential

This will install the gcc compiler along with other essential build tools.

  1. If you get an error message that says “undefined reference to…”, it means that the linker could not find the definition of a function or variable that is used in the code. This can happen if the required library is not linked properly. You can fix this by adding the library path using the -L option and linking with the library using the -l option.


  • GCC is a powerful and versatile compiler that can be used for a wide range of programming languages.
  • It is recommended to use the -Wall option to enable all warning messages, which can help you identify potential issues in your code.
  • The -O option can be used to optimize the generated code for better performance. However, this may also result in longer compilation times and larger executable files.