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.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Атрибуты класса

Из книги Самоучитель UML автора Леоненков Александр

Атрибуты класса Во второй сверху секции прямоугольника класса записываются его атрибуты (attributes) или свойства. В языке UML принята определенная стандартизация записи атрибутов класса, которая подчиняется некоторым синтаксическим правилам. Каждому атрибуту класса


Атрибуты писем.

Из книги 64 килобайта о Фидо автора Filimonov Nick

Атрибуты писем. Помимо указанных выше полей, заполняемых вручную или автоматически, используется также поле атрибутов письма. Hетмайл-письмо может иметь следующие атрибуты :Hазвание Сокращение ЗначениеPrivate Pvt Частное письмо. Если Вы пишете пользователю BBS, получающему


Атрибуты и свойства

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд

Атрибуты и свойства Иногда бывает полезно показать, что объект имеет некие открытые свойства, которые могут быть доступны и/или которые можно модифицировать через СОМ-интерфейс. СОМ IDL позволяет аннотировать методы интерфейса с тем, чтобы данный метод либо


2. Домены и атрибуты

Из книги Базы данных: конспект лекций автора Автор неизвестен

2. Домены и атрибуты Домены и атрибуты – базовые понятия в теории создания баз данных и управления ими. Поясним, что же это такое.Формально, домен атрибута (обозначается dom(a)), где а – некий атрибут, определяется как множество допустимых значений одного и того же типа


4. Виртуальные атрибуты

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

4. Виртуальные атрибуты Все атрибуты в системах управления базами данных делятся (по абсолютной аналогии с отношениями) на базовые и виртуальные. Так называемые базовые атрибуты – это хранимые атрибуты, которые необходимо использовать не один раз, а следовательно,


Директивы и атрибуты CIL

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

Директивы и атрибуты CIL Теперь, когда вы знаете, как использовать ildasm.exe и ilasm.exe в рамках челночной технологии разработки, мы можем заняться непосредственным анализом синтаксиса и семантики CIL. Следующие разделы предлагают описание процесса построения пользовательского


7.5. Атрибуты файлов

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

7.5. Атрибуты файлов Для каждого файла можно установить четыре атрибута (рис. 49):Только чтение — файл нельзя изменить, пока данный атрибут не сброшен.Скрытый — файл не будет отображаться при выводе содержимого каталога, пока не будет включен режим отображения скрытых


Атрибуты и подпрограммы

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Атрибуты и подпрограммы Любой абстрактный тип данных и POINT в частности характеризуется набором функций, описывающих операции применимые к экземплярам АТД. В классе, реализующем АТД, функции становятся компонентами (features) - операциями, применимыми к экземплярам класса.В


Атрибуты или функции?

Из книги BPwin и Erwin. CASE-средства для разработки информационных систем автора Маклаков Сергей Владимирович

Атрибуты или функции? Рассмотрим подробнее следствия принципа унифицированного доступа и объединения атрибутов и подпрограмм под общим заголовком - компоненты. (См."Унифицированный доступ", лекция 3. См. также данную лекцию.)Принцип декларирует, что клиенты модуля


Атрибуты безопасности

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Атрибуты безопасности В этой главе мы исследуем средства контроля доступа Windows сверху вниз, чтобы увидеть, как строится система безопасности объектов. Вслед за общим обзором, но перед тем, как мы приступим к примерам, будут подробно описаны соответствующие функции Windows. В


2.2.2. Сущности м атрибуты

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

2.2.2. Сущности м атрибуты Основные компоненты диаграммы Erwin - это сущности, атрибуты и связи. Каждая сущность является множеством подобных индивидуальных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться от всех остальных экземпляров.


5.2.4. Атрибуты

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

5.2.4. Атрибуты Расширенное ключевое слово attribute используется для передачи gcc большего объема информации о функции, переменной или объявленном типе, чем это позволяет код С, соответствующий стандарту ANSI/ISO. Например, атрибут aligned дает указание gcc о том, как именно выравнивать


Атрибуты блока

Из книги Операционная система UNIX автора Робачевский Андрей М.

Атрибуты блока Атрибут блока представляет собой некое подобие метки или ярлыка, используемых для связывания с блоком текстовой строки или каких-либо иных данных. В процессе вставки блока с переменными атрибутами AutoCAD предлагает ввести значение атрибута, которое затем


4.1.5. Атрибуты потоков

Из книги автора

4.1.5. Атрибуты потоков Потоковые атрибуты — это механизм настройки поведения отдельных потоков. Вспомните, что функция pthread_create() принимает аргумент, являющийся указателем на объект атрибутов потока. Если этот указатель равен NULL, поток конфигурируется на основании


Атрибуты процесса

Из книги автора

Атрибуты процесса Процесс в UNIX имеет несколько атрибутов, позволяющих операционной системе эффективно управлять его работой, важнейшие из которых рассмотрены