-g
означает включение отладочной информации, которая позволяет отладчику знать, где находится именованный объект (переменная) в памяти или регистрах исполняемого процесса, и знать, какие инструкции соответствуют каким строкам исходного кода.
-o myprogram
говорит, что нужно поместить выходной файл в myprogram
. (Если вы не укажете -o
с именем файла, GCC по умолчанию помещает вывод в файл с именем a.out
.)