Пользовательские директивы #pragma

Пользовательские директивы #pragma
Пользовательские директивы #pragma - willbreen @ Unsplash

#pragma директивы полностью зависят от реализации. Это означает языковую реализацию, которую вы создаете. Вы можете делать с ними все, что захотите. Буквально что угодно.

Было бы разумно, если бы первым в ваших собственных прагмах было название вашей реализации, как это делает GCC, чтобы вы не конфликтовали с прагмами, которые кто-то может добавить в свой код, предназначенный для другой реализации. С другой стороны, если вы намеренно добавляете прагму, которую также использует какая-то другая реализация, вы должны сделать ее одинаковой (в том числе, если у нее есть имя этой реализации), чтобы одна и та же прагма работала в обеих реализациях. Например, clang использует множество прагм GCC.

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

Прикрепляю к посту несколько видео по теме:

Прикрепленное видео 1 - C, C++, Заголовочные файлы и условная компиляция (директивы препроцессора)

Прикрепленное видео 2 - Лекція 26. Препроцесор С, С++. Директиви препроцесора

Прикрепленное видео 3 - Занятие 10, Функции(продолжение), другие типы данных, директивы препроцессора


LetsCodeIt, 17 февраля 2023 г., 19:18