> Есть программка test: > #include <stdlib.h> > #include <stdio.h> > void tt(){ > printf("Program terminated\n"); > } > void main(){ > g_atexit(tt); > } > > Когда говорю make test вот что выдает: > cc test.c -o test > test.c: In function `main': > test.c:8: warning: return type of `main' is not `int' > /tmp/ccTOpxSH.o: In function `main': > /tmp/ccTOpxSH.o(.text+0x27): undefined reference to `atexit' > collect2: ld returned 1 exit status > make: *** [test] Error 1 > > Вопрос: почему это? > Какую библиотеку нужно линковать чтобы получить эту функцию? > Как узнать в какой библиотеке какие функции определены?
Линковать надо с libglib (-lglib). И, строго говоря, еще #include <glib.h> Посмотреть на определенные символы в объектном файле можно с помощью nm (если табличка символов не стрипнута) или objdump. А почему не использовать стандартную atexit()? 73! Crimson Cat aka Stas Torgashov ([EMAIL PROTECTED]) Registered Linux user #163131 ICQ UIN 36938816