В libuv
файле heap-inl.h , я вижу следующий макрос
#if defined(__GNUC__)
# define HEAP_EXPORT(declaration) __attribute__((unused)) static declaration
...
HEAP_EXPORT(void heap_init(struct heap* heap));
...
heap-inl.h
включен в исходный файл loop.c
, который затем используетобъявленная функция heap_init
.
Из того, что я интерпретирую ...
heap-inl.h
обозначает кучу "inline"? HEAP_EXPORT
равно экспорт функция, которая будет использоваться другими исходными файлами.
Я не понимаю, почему экспортированная функция помечена __attribute((unused))__
.Кроме того, почему это также объявление static
?Я думал, что static
функции могут использоваться только в файле, в котором они определены. Кроме того, какое отношение встраивание имеет к какому-либо из этого?