Skip to content

Use of -g and -o options in gcc command in c programming

Suppose there are 2 c program named abc.c and xyz.c . Now we want to work with the 2 executables at a time. So we change the name of the ./a.out using

gcc -g abc.c -o abc
gcc -g xyz.c -o xyz

Even gcc -o abc abc.c works. What does the -g and -o in the above commands specify or describe? What is the significance of -g and -o in the command for renaming ./a.out file. Thanks in advance.



-g means to leave debugging information in the output file, it’s unrelated to renaming.

-o means to put the result in the specified file instead of the default filename (abc.o for object files, a.out for linked executable files).

User contributions licensed under: CC BY-SA
3 People found this is helpful