Re: atexit
> Есть программка 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 (crimson_cat@mail.ru)
Registered Linux user #163131 ICQ UIN 36938816
Reply to:
- References:
- atexit
- From: "Sergey V . Burchu" <sayd@joker.botik.ru>