gcc __attribute__ с разделением объявления и определения

#gcc

#gcc

Вопрос:

Я хочу воспользоваться атрибутом видимости GCC.

С этой целью в моем исполняемом файле у меня есть функция, которую я хочу сделать видимой для любых плагинов, чтобы они могли использовать ее для регистрации. Поэтому я использую __attribute__((visibility("default"))) его и -fvisibility=hidden в качестве опции в командной строке.

Эта статья, по-видимому, подразумевает, что атрибуты могут использоваться только в объявлениях.

Возможно ли иметь реализацию функции в отдельном файле .cpp и применять атрибут только к объявлению?

Ответ №1:

ДА. Это часто делается таким образом, __attribute__ появляется только при объявлении.