Описание тега gcc-attribute

2 ответа

Какое условие препроцессора я должен проверить, чтобы использовать __attribute__((const))?

У меня есть фрагмент кода, который применяется __attribute__((const))к некоторым функциям. Я бы предпочел не удалять его, когда он пригоден для использования, но, с другой стороны, я действительно хочу быть более портативным, поэтому - я хочу сказат…
20 окт '19 в 22:01
1 ответ

Как я могу создать независимый от платформы макрос для оболочки расширения компилятора?

У меня есть такой код, который мне нужен для кроссплатформенности: int __attribute__((noinline)) fn() { return 0; } Я хочу использовать Waf для написания config.h, содержащего #define ATTRIBUTE(attr) __attribute__((attr)) если компилятор поддерживае…
02 дек '19 в 18:21
0 ответов

indent(1) не может работать со строками __attribute__((xxx))

Я использую indent(1) для переформатирования нашей кодовой базы C. Мы используем инструментальную функцию gcc для задач анализа производительности, и у нас есть пара функций, отмеченных значком__attribute__((no_instrument_function)) чтобы gcc не исп…
14 фев '20 в 09:50
2 ответа

__attribute__ в определениях нескольких переменных

У меня вопрос, который лучше всего пояснить на примере. Обратите внимание на следующий код: unsigned char a, b; Очевидно, это определяет две переменные типа unsigned char. Если бы я хотел выровнять переменные по 16-байтовым границам, мой первый наив…
04 авг '20 в 14:10
1 ответ

Отличается ли структура C, состоящая из всех упакованных полей, кроме первого, от упакованной структуры?

Среди атрибутов общего типа GCC предоставляет packed: Этот атрибут, прикрепленный к struct[...] определение типа указывает, что каждый из его членов (кроме битовых полей нулевой ширины) размещается для минимизации требуемой памяти. Этоэквивалентно у…
23 окт '20 в 16:18
1 ответ

Атрибут GCC __attribute__ ((конструктор)) из основного исполняемого файла запускается после конструкторов связанных библиотек

Я заметил, что конструкторы из общих объектов, связанных с моими приложениями, всегда будут запускаться перед моими конструкторами приложений, даже если мои приложения имеют более низкий приоритет (т.е. более высокий приоритет); например, скажем, эт…
01 дек '21 в 20:25
0 ответов

почему для C23 не выбран слабый атрибут?

Я вижу , что в C23 появился новый тип ключевого слова «атрибуты». Некоторые из них, как[[deprecated]]использовались в C11+GNU__attribute__((deprecated)). Я выгляжу как отличное обновление. Интересно, почему такое полезное ключевое слово, как__attrib…
03 ноя '22 в 16:09
0 ответов

Что делает атрибут «режим»?

Я прочитал документацию , но не могу ее понять. Что делают следующие определения типов? Каков/должен быть размер переменной типа word/pointer/_Unwind_Word в 8/16/32/64-битной архитектуре? typedef unsigned int word __attribute__((mode(word))); typede…
04 апр '23 в 17:02