Compiling Programs Using the cc Command (original) (raw)

Last Updated : 28 Jan, 2026

The cc command in Linux is used to compile C programs and generate executable files. On most Linux systems, it acts as an alias to popular compilers like gcc or clang.

**Example: The cc command takes the example.c source code, compiles it, and creates the default executable file a.out that can be run directly on the system.

cc example.c

Basic 'cc' Command Example

Syntax

cc [options] files

where,

Examples of cc Command Using Options

Below are some useful examples that show how different cc options are used while compiling C programs in Linux.

1. -o (Specify Output File Name)

Takes the 'source_file.c' file, compiles the code, and produces an executable file with the chosen name for execution.

**Command:

cc example.c -o examp_out

**Output:

cc command with -o option

2. -Wall (Enable All Common Compiler Warnings)

Compiles the 'source_file.c' source code while identifying and reporting all errors and warnings in the program.

**Command:

cc example.c -Wall -o examp_out

**Output:

cc command with -Wall option

3. -w (Suppress All Compiler Warnings)

Takes the 'source_file.c' file, compiles the code, and suppresses all compiler warnings.

**Command:

cc example.c -w

**Output:

cc command with -w option

4. -g (Generate Debugging Information)

Compiles the 'source_file.c' file and generates a debugging version of the executable output, which can be used with a debugger and is typically larger than the standard executable.

**Command:

cc example.c -g -o examp_out_debug

**Output:

cc command with -g option

5. -c (Compile Without Linking)

Compiles the 'source_file.c' file and generates an object file 'source_file.o', which can later be linked to produce an executable.

**Command:

cc example.c -c

**Output:

cc command with -c option

6. -L (Specify Library Search Directory)

Processes the 'source_file.c' source code and searches the given directory for required header files during compilation.

**Command:

cc example.c -L /home/mukkesh/Desktop

**Output:

cc command with -Ldir option

7. -ansi (Compile Code Following Strict ANSI C Standards)

This command will compile the 'source_file.c' file, and makes sure that the code follows strict ANSI standards. This will make sure that the code is portable to be compiled on any other system.

**Command:

cc -ansi example.c

**Output:

cc command with -ansi option

8. -dump (Display Internal Compiler Information)

The -dumpversion option prints the version of the cc compiler. This is useful for verifying the installed compiler version.

**Command:

cc -dumpversion

**Output:

cc command with '-dump' options

**Command:

cc -dumpmachine

**Output:

cc command with '-dump' options

**Command:

cc -dumpspecs

**Output:

cc command with '-dump' options

9. -v (Compile with Verbose Output)

The -v option compiles 'source_file.c' while providing detailed, step-by-step information about the compilation process. This helps in understanding what the compiler is doing internally.

**Command:

cc example.c -v

**Output:

cc command with -v option

Real-World Scenarios of cc Command

Below are a few practical scenarios where the cc command is commonly used in learning, development, and real-time programming tasks.

1. Compiling Student Programs

Students frequently use the cc command to compile their C assignments, lab programs, and practice codes.

cc program.c -o program

2. Debugging C Programs

Developers compile programs with debugging support to analyze errors and crashes using tools like gdb.

cc program.c -g -o debug_program

3. Building Large Projects With Multiple Files

In real applications, projects contain multiple .c files. These files are compiled into object files and then linked together.

cc -c file1.c
cc -c file2.c
cc file1.o file2.o -o final_app

4. Ensuring Code Safety and Quality

Programmers enable warnings to detect coding mistakes and improve program quality.

cc code.c -Wall -o safe_app