>Решил покопаться в исходниках glibc и натолкнулся
>на подобные объявления:
>
>extern int atoi (__const char *__nptr) __THROW __attribute_pure__;
>
>Что есть __THROW?
>И что такое __attribute_pure__?
Это расширения GNU GCC. см. info gcc . Касательно __attribute__ пункт 5.24
>И вообще. Разве можно, с точки зрения синтаксиса, что-то писать
>после закрывающей скобки в объявлении функции???
С точки зрения ANSI-C99 нельзя. С точки зрения компилятора всё возможно :)
Пример, конструктора/деструктора на Cи :)
#include <stdio.h>
void init() __attribute__ ((constructor));
void finit() __attribute__ ((destructor));
void init() { fprintf(stderr, "init()\n"); }
void finit() { fprintf(stderr, "finit()\n"); }
int main(int argc, char *argv[]) { fprintf(stderr, "main()\n"); return 0; }