Описание тега function-attributes

1 ответ

Как указать атрибут GNU C?

В руководстве GUN C, 6.30 Объявление атрибутов функций, говорится: Вы также можете указать атрибуты с __ до и после каждого ключевого слова. Это позволяет вам использовать их в заголовочных файлах, не заботясь о возможном макросе с тем же именем. На…
14 апр '13 в 03:24
4 ответа

Лучший способ инициализировать переменную в модуле Python

Допустим, мне нужно записать входящие данные в набор данных в облаке. Когда, где и если мне понадобится набор данных в моем коде, зависит от поступающих данных. Я хочу получить ссылку на набор данных только один раз. Каков наилучший способ достичь э…
2 ответа

Как пометить функцию с типом возврата, чтобы не возвращать?

Если я не верну ничего в функцию, которая что-то возвращает, компилятор предупредит, что функция ничего не возвращает. Но если я позвоню abort() в функции компилятор не предупредит. Как я могу пометить свою собственную функцию, как это.
16 янв '12 в 02:31
2 ответа

Декоратор для установки атрибутов функции

Я хочу, чтобы различные функции выполнялись только в том случае, если вошедший в систему пользователь имеет требуемый уровень разрешений. Чтобы сделать мою жизнь сложнее, просто я хочу использовать декораторы. Ниже я пытаюсь установить атрибут permi…
1 ответ

Атрибут const gcc и глобальные переменные const

Из документов GCC: Многие функции не проверяют никаких значений, кроме своих аргументов, и не имеют никаких эффектов, кроме возвращаемого значения. По сути, это просто немного более строгий класс, чем приведенный выше чистый атрибут, поскольку функц…
10 фев '14 в 02:20
1 ответ

Объясните атрибут функции force_align_arg_pointer

Из документации GCC На Intel x86 force_align_arg_pointer Атрибут может применяться к отдельным определениям функций, генерируя альтернативные prologue а также epilogue это выравнивает runtime stack, Это поддерживает смешивание устаревших кодов, кото…
12 дек '12 в 13:49
1 ответ

LLVM как установить атрибуты::NoUnwind для функции?

Я думаю, что это очень простой вопрос, но я не могу его решить. Очень грустный. Так. Когда я делаю llc.exe -march=cpp test.bc Я получаю интересный test.cpp с этим фрагментом кода: AttrListPtr func__Z2f1i_PAL; { SmallVector<AttributeWithIndex, 4&g…
30 апр '13 в 14:07
2 ответа

Использование атрибутов функции для хранения результатов для отложенной (потенциальной) обработки

Я занимаюсь определением столкновений и очень хотел бы использовать одну и ту же функцию в двух разных контекстах. В одном контексте я хотел бы, чтобы это было что-то вроде def detect_collisions(item, others): return any(collides(item, other) for ot…
07 окт '10 в 11:34
0 ответов

Как использовать Поправку метода Afterthought в деталях?

Уважаемые, я хочу немного помочь с Afterthought Library, так как я хочу перехватить свою функцию при входе и выходе. Сначала я нашел библиотеку Postsharp и смог ее использовать. Но я обнаружил, что это несвободная библиотека. В общем, я хочу что-то …
06 мар '18 в 04:56
2 ответа

Атрибут функции return_twice

Я просто искал атрибуты funciton для gcc ( http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Function-Attributes.html) и наткнулся на returns_twice приписывать. И я абсолютно не понимаю, в каком случае функция может вернуться дважды... Я быстро посмотрел …
29 июл '13 в 06:55
2 ответа

Проблема оптимизации с атрибутом функции [[gnu::pure]] и потоками

У меня есть программа, которая почти сразу заканчивается -O0 на gcc, но навсегда зависает с gcc и -O3, Он также сразу выходит, если я удаляю [[gnu::pure]] атрибут функции, даже если функция не изменяет глобальное состояние. Программа находится в тре…
22 фев '19 в 03:59
0 ответов

Переменные состояния в Python: когда выбирать классы, нелокальные переменные или атрибуты функций

Существует (как минимум) три различных способа отслеживания информации о состоянии для функций в python (примеры, представленные без какого-либо значимого способа использования информации о состоянии, очевидно): ООП Классы: class foo: def __init__(s…
2 ответа

Как использовать атрибут формата GCC printf с вариабельными шаблонами C++11?

У меня есть класс C++, который является интерфейсом для системы журналирования. Его функция регистрации реализована с использованием шаблонов переменных C++11: template <typename... Args> void Frontend::log(const char *fmt, Args&&... a…
1 ответ

Доступ к атрибутам функций внутри декораторов

Можно ли получить доступ к атрибутам функции внутри декоратора? Рассмотрим ниже кусок кода. def deco(a): def wrap(): print(a.status) a() print(a.status) return wrap @deco def fun1(): fun1.status="bar" fun1.status="foo" fun1() Я ожидал, что результат…
2 ответа

Переназначение атрибута функции делает его "недоступным"

У меня есть простой маленький декоратор, который кэширует результаты вызовов функций в dict как атрибут функции. from decorator import decorator def _dynamic_programming(f, *args, **kwargs): try: f.cache[args] except KeyError: f.cache[args] = f(*arg…
29 окт '14 в 16:45
2 ответа

Можно ли создать универсальный метод, который может заменить три метода с System.Data.Linq.Mapping.FunctionAttribute?

У меня есть три метода в моем классе datacontext, которые все вызывают немного отличающиеся хранимые процедуры, имеющие различное поведение; ПРИЛОЖЕНИЕ, ОБНОВЛЕНИЕ, ПЕРЕЗАПИСЬ. Однако все три метода по сути имеют один и тот же код. Единственным отли…
1 ответ

GCC - ошибка "имеет инициализатор, но неполный тип" при использовании макросов для атрибутов функции

У меня есть несколько заголовочных файлов с некоторыми простыми прославленными structс просто чистыми виртуальными методами, определенными в них. Код прекрасно компилируется в Windows с Visual Studio 2015, но GCC застревает. Сначала код: Листинг код…
3 ответа

Может ли функция, используемая в std::thread (C++11), иметь [[noreturn]]?

За std::thread t(foo);имеет ли смысл иметь foo [[noreturn]] () {...}? Например для отдельного потока (используется как своего рода демон до завершения приложений)?
24 сен '15 в 13:23
1 ответ

Влияние атрибутов GCC на вложенные функции

Атрибуты функций могут быть указаны только для объявления функций (не определения). Поэтому я не могу указать атрибуты для вложенной функции. Например: //invalid line. hot_nested_function is invisible outside "some_function" void hot_nested_function…
0 ответов

Отметить функцию, которая будет использоваться только под замком

Я пишу драйвер ядра Linux, и у меня есть функция, которая ДОЛЖНА вызываться при блокировке, и я хочу убедиться, что никто не будет использовать ее, не получив блокировку. Эта функция вызывается много раз из разных функций, которые получают блокировк…