Урок №8: Налаштування компілятора: Розширення компілятора

  Юрій  | 

  Оновл. 9 Кві 2020  | 

 166

В цьому уроці ми розглянемо, що таке розширення компілятора, чи є вони корисними і як їх виключити.

Розширення компілятора

Стандарт C++ визначає правила щодо того, як програми повинні себе вести в конкретних ситуаціях. І в більшості випадків компілятори також будуть дотримуватися цих правил. Однак багато компіляторів впроваджують власні зміни в мову програмування, часто для підвищення сумісності з іншими версіями мови (наприклад, C99), тощо. Ці поведінкові зміни, які є різними в різних компіляторах, називаються розширеннями компілятора.

Написання програми, яка використовує розширення компілятора, дозволяє вам писати програми, які є несумісними зі стандартом C++. Програми, що використовують нестандартні розширення, як правило, не будуть компілюватися в інших компіляторах (які не підтримують ці ж розширення), або будуть працювати неправильно.

Дуже часто розширення компілятора є включеними за замовчуванням. Особливо це стосується початківців, коли вони можуть вважати поведінку, специфічну для певного компілятора, як частину офіційного стандарту C++ (коли насправді це не так).

Оскільки розширення компілятора рідко коли потрібні і можуть зробити ваші програми не відповідними стандартам C++, то я раджу вимикати розширення компілятора.

Порада: Вимикайте розширення компілятора, щоб бути певними, що ваші програми залишаються сумісними зі стандартами C++ і працюватимуть у будь-якій системі.

Примітка: Ці налаштування застосовуються до кожного проекту окремо. Вам потрібно буде це все повторювати для кожного новоствореного вами проекту, або створити шаблон проекту з цими налаштуваннями і тоді вже по ньому створювати нові проекти.

Вимкнення розширень компілятора

Користувачам Visual Studio

Щоб вимкнути розширення компілятора в Visual Studio, клацніть правою кнопкою миші по назві вашого проекту в "Обозревателе решений" -> "Свойства":

У діалоговому вікні проекту переконайтесь, що в полі "Конфигурация" вибраний пункт "Все конфигурации". Потім натисніть на вкладку "C/C++" -> "Язык" та встановіть значення "Да (/Za)" для пункту "Отключить расширения языка", після цього натискаємо "OK":


Користувачам Code::Blocks

Вимкнути розширення компілятора можна через меню "Settings" -> "Compiler":

Далі на вкладці "Compiler Flags" шукаємо пункт "Treat as errors the warnings demanded by strict ISO C and ISO C++ [-pedantic-errors]" і ставимо галочку, після чого натискаємо "OK":


Користувачам GCC/G++

Ви можете відключити розширення компілятора, додавши флаг -pedantic-errors до командного рядка компіляції.

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (2 оцінок, середня: 5,00 з 5)
Loading...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *