Dnia 16-04-2006, nie o godzinie 23:38 +0200, GDR! napisał(a):
> Hello szluug,
> [...]
> bezpośrednie przekazywanie zaś wskaźnika na
> funkcję powoduje oczywiście segfaluta
SOA#1: u mnie działa.
a.c linkuję jako bibliotekę, a b.c to program:
=========
gcc -fPIC -c a.c
gcc -fPIC -c b.c
gcc -shared -Wl,-soname,liba.so.1 -o liba.so.1.0.0 a.o -lc
ln -s liba.so.1.0.0 liba.so.1
ln -s liba.so.1.0.0 liba.so
gcc b.o -L. -la -o b
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
./b
aaa
==== cat a.c ====
void f1(void (*f2)())
{
f2();
}
==== b.c ====
void f3()
{
printf("aaa\n");
}
int main()
{
f1(f3);
};
==============
--
Lukasz Klimek <[EMAIL PROTECTED]>