2016-10-24 4 views
0

Я работаю под linux, мне кажется, что эффект «-g» и «-ggdb» не имеет большого значения. Я только нахожу, что использование «-ggdb» будет генерировать двоичные файлы на несколько байтов больше.gcc: В чем разница между «-g» и «-ggdb»?

В чем же основное отличие: gdb должен иметь один параметр -g и еще один вариант -ggdb?

Спасибо.

ответ

2

Скомпилированную программу следует хранить в некоторой части, где для отладчиков (GDB здесь) нужно заглядывать в нее и следовать.

Это технически называется «Отладочный формат данных».

Некоторых universaslly принятых форматы отладка данные являются (есть еще несколько):

COFF - Common Object File Format - на UNIX подобных систем.

PE/COFF - Portable Executable - довольно известный в окнах, обычно это использует dotnet.

DWARF - популярный в UNIX подобных системах.

и т.д ..

Варианта GDB Вы запрашивали в вашем вопросе связана с созданием этих форматов отладка данных.

На основе документации функциональная разница: Опция «g» предоставляет данные отладки в собственном формате конкретной системы. вариант «-ggdb» бит богат и дорог. предоставляет отладочные данные в наиболее выразительном формате.