5.2.4. Атрибуты
5.2.4. Атрибуты
Расширенное ключевое слово attribute используется для передачи gcc большего объема информации о функции, переменной или объявленном типе, чем это позволяет код С, соответствующий стандарту ANSI/ISO. Например, атрибут aligned дает указание gcc о том, как именно выравнивать переменную или тип; атрибут packed указывает на то, что заполнение использоваться не будет; noreturn определяет то, что возврат из функции никогда не произойдет, что позволяет gcc лучше оптимизироваться и избегать фиктивных предупреждений.
Атрибуты функции объявляются путем их добавления в объявление функции, например:
void die_die_die(int, char*) __attribute__ ((__noreturn__));
Объявление атрибута размещается между скобками и точкой с запятой и содержит ключевое слово attribute, за которым следуют атрибуты в двойных круглых скобках. Если атрибутов много, следует использовать список, разделенный запятыми.
int printm(char*, ...)
__attribute__((const,
format(printf, 1, 2)));
В этом примере видно, что printm не рассматривает никаких значений, кроме указанных, и не имеет побочных эффектов, относящихся к генерации кода (const), printm указывает на то, что gcc должен проверять аргументы функции так же, как и аргументы printf(). Первый аргумент является форматирующей строкой, а второй — первым параметром замены (format).
Некоторые атрибуты будут рассматриваться по мере дальнейшего изложения материала (например, во время описания сборки совместно используемых библиотек в главе 8). Исчерпывающую информацию по атрибутам можно найти в документации gcc в формате Texinfo.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Атрибуты безопасности
Атрибуты безопасности В этой главе мы исследуем средства контроля доступа Windows сверху вниз, чтобы увидеть, как строится система безопасности объектов. Вслед за общим обзором, но перед тем, как мы приступим к примерам, будут подробно описаны соответствующие функции Windows. В
5.2.4. Атрибуты
5.2.4. Атрибуты Расширенное ключевое слово attribute используется для передачи gcc большего объема информации о функции, переменной или объявленном типе, чем это позволяет код С, соответствующий стандарту ANSI/ISO. Например, атрибут aligned дает указание gcc о том, как именно выравнивать
Атрибуты класса
Атрибуты класса Во второй сверху секции прямоугольника класса записываются его атрибуты (attributes) или свойства. В языке UML принята определенная стандартизация записи атрибутов класса, которая подчиняется некоторым синтаксическим правилам. Каждому атрибуту класса
Атрибуты писем.
Атрибуты писем. Помимо указанных выше полей, заполняемых вручную или автоматически, используется также поле атрибутов письма. Hетмайл-письмо может иметь следующие атрибуты :Hазвание Сокращение ЗначениеPrivate Pvt Частное письмо. Если Вы пишете пользователю BBS, получающему
Атрибуты процесса
Атрибуты процесса Процесс в UNIX имеет несколько атрибутов, позволяющих операционной системе эффективно управлять его работой, важнейшие из которых рассмотрены
Атрибуты и свойства
Атрибуты и свойства Иногда бывает полезно показать, что объект имеет некие открытые свойства, которые могут быть доступны и/или которые можно модифицировать через СОМ-интерфейс. СОМ IDL позволяет аннотировать методы интерфейса с тем, чтобы данный метод либо
Директивы и атрибуты CIL
Директивы и атрибуты CIL Теперь, когда вы знаете, как использовать ildasm.exe и ilasm.exe в рамках челночной технологии разработки, мы можем заняться непосредственным анализом синтаксиса и семантики CIL. Следующие разделы предлагают описание процесса построения пользовательского
2. Домены и атрибуты
2. Домены и атрибуты Домены и атрибуты – базовые понятия в теории создания баз данных и управления ими. Поясним, что же это такое.Формально, домен атрибута (обозначается dom(a)), где а – некий атрибут, определяется как множество допустимых значений одного и того же типа
4. Виртуальные атрибуты
4. Виртуальные атрибуты Все атрибуты в системах управления базами данных делятся (по абсолютной аналогии с отношениями) на базовые и виртуальные. Так называемые базовые атрибуты – это хранимые атрибуты, которые необходимо использовать не один раз, а следовательно,
4.1.5. Атрибуты потоков
4.1.5. Атрибуты потоков Потоковые атрибуты — это механизм настройки поведения отдельных потоков. Вспомните, что функция pthread_create() принимает аргумент, являющийся указателем на объект атрибутов потока. Если этот указатель равен NULL, поток конфигурируется на основании
Атрибуты блока
Атрибуты блока Атрибут блока представляет собой некое подобие метки или ярлыка, используемых для связывания с блоком текстовой строки или каких-либо иных данных. В процессе вставки блока с переменными атрибутами AutoCAD предлагает ввести значение атрибута, которое затем
2.2.2. Сущности м атрибуты
2.2.2. Сущности м атрибуты Основные компоненты диаграммы Erwin - это сущности, атрибуты и связи. Каждая сущность является множеством подобных индивидуальных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться от всех остальных экземпляров.
7.5. Атрибуты файлов
7.5. Атрибуты файлов Для каждого файла можно установить четыре атрибута (рис. 49):Только чтение — файл нельзя изменить, пока данный атрибут не сброшен.Скрытый — файл не будет отображаться при выводе содержимого каталога, пока не будет включен режим отображения скрытых
Атрибуты и подпрограммы
Атрибуты и подпрограммы Любой абстрактный тип данных и POINT в частности характеризуется набором функций, описывающих операции применимые к экземплярам АТД. В классе, реализующем АТД, функции становятся компонентами (features) - операциями, применимыми к экземплярам класса.В
Атрибуты или функции?
Атрибуты или функции? Рассмотрим подробнее следствия принципа унифицированного доступа и объединения атрибутов и подпрограмм под общим заголовком - компоненты. (См."Унифицированный доступ", лекция 3. См. также данную лекцию.)Принцип декларирует, что клиенты модуля