репозиторий сообщений об ошибках gcc - PullRequest
9 голосов
/ 16 декабря 2010

Я потратил много времени на использование компилятора Microsoft cl и обнаружил, что коды ошибок, которые он выдает в сообщениях компиляции (например, C1234, C5432 и т. Д.), Могут быть очень полезны.Когда я получаю сообщение об ошибке, с которым я не знаком, я могу легко найти его в MSDN и получить более подробное объяснение того, что оно означает.

Теперь я использую почти исключительно gcc и обнаружил, что упускаю это.особенность.Когда я получаю какую-то ошибку в gcc, я, похоже, трачу много времени на поиски текста ошибки, чтобы узнать о ней.Есть ли хранилище сообщений об ошибках gcc, где каждое из них объясняется более подробно?

Ответы [ 2 ]

4 голосов
/ 16 декабря 2010

Я не знаю ни о каком полном хранилище, включая полные объяснения, но для себя:

  • Со временем вы узнаете, что означают конкретные сообщения об ошибках (особенно с точки зрения "вы пропускаете ;, но компилятор не может сказать").
  • Поиск в постоянной части сообщения об ошибке в кавычках (не включая, например, имена функций) часто дает очень хорошие объяснения в первых 3-5 попаданиях.
  • Ошибки, связанные с шаблоном, обычно являются худшими. Для них компилятор дает вам два номера строки: место, где существует код шаблона, и место, где он создается. Рассмотрение обеих строк кода в контексте часто может прояснить ситуацию («Почему используется перегрузка THAT?»). Иногда самый простой способ - создать тестовую программу с более простыми типами, чтобы понять, что говорит вам компилятор (так как показывать typedefs в сообщении об ошибке будет недостаточно).
  • Если это небольшой фрагмент кода, попробуйте его в другом компиляторе (например, Comeau online) и посмотрите, ясна ли ошибка.
0 голосов
/ 16 декабря 2010

Я считаю, что поиск в Google точного сообщения об ошибке (без изменений, которые меняются, например, имена переменных / функций) дает довольно хорошие результаты. Иногда это помогает заключить все или часть (и) сообщения об ошибке в кавычки, чтобы оно воспринималось как предложение, а не как набор слов.

Эта страница объясняет некоторые из основных сообщений об ошибках.

Если вы сталкиваетесь с чем-то особенно запутанным в том, что вам сложно разобраться, вы, конечно, всегда можете спросить об этом.

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