Разница между -g и -gfull в Clang - PullRequest
0 голосов
/ 28 марта 2020

Название говорит само за себя. Я везде просматривал документы Кланга, но у опции -gfull нет описания. В документации также отсутствует информация обо всех различных уровнях отладки (например, -g2), и было бы здорово, если бы кто-то мог это объяснить.

1 Ответ

1 голос
/ 28 марта 2020

Видимо, опции -g0, -g1, -g2, -g3 и -gfull в Clang эквивалентны G CC. Я не смог найти их документацию в Clang, но я нашел некоторую информацию об их использовании в G CC (и они должны вести себя так же в Clang, но я не уверен на 100%):

  • -gfull используется в Darwin / macOS. Использование -gfull эквивалентно -g -fno-eliminate-unused-debug-symbols. Источники: link1 link2 .

  • -g0 до -g3 - уровни отладки. Они указывают, сколько отладочной информации нужно включить (обратите внимание, что -g0 означает отсутствие отладочной информации вообще). См. здесь для более подробного объяснения (вы найдете их в параграфе -glevel).

РЕДАКТИРОВАТЬ:

Все эти параметры командной строки перечислены в руководстве Clang как G CC -совместимые опции ( source ). Поэтому поведение, описанное в руководстве G CC, должно быть таким же в Clang.

PS: я уже говорил об этом в исходном ответе, но теперь я добавил ссылку на руководство Clang в качестве источника .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...