При компиляции с использованием -std = c99 мне нужно использовать -pedantic или -ansi? - PullRequest
1 голос
/ 02 февраля 2012

Я C / GCC Noob, извините.Спасибо.

Ответы [ 3 ]

9 голосов
/ 02 февраля 2012

Использование -ansi эквивалентно использованию -std=c89 или -std=c++98 в зависимости от того, компилируете ли вы файл C или C ++, поэтому вы не захотите использовать его вместе с -std=c99, так как это может привести к конфликту. -pedantic, с другой стороны, не зависит от -std, поэтому может использоваться вместе с ним.

1 голос
/ 02 февраля 2012

вы можете использовать -pedantic с -std = c99 или -ansi.
-ansi и -std = c99 оба являются стандартом, которому должен следовать компилятор, и конфликтуют друг с другом, поскольку одновременно может соблюдаться только один стандарт.

-Panantic проверить программу со строгими стандартами ISO C и ISO C++ и отклонить любое запрещенное выражение. без этой опции могут быть разрешены некоторые традиционные функции C и C ++.

1 голос
/ 02 февраля 2012

Суть -pedantic в том, что ключ в названии; кому-нибудь нужно , чтобы быть педантичным?

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

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