- erik@powell:/tmp$ cat test.c
- #include <math.h>
- #include <stdio.h>
- #include <string.h>
- int main ()
- {
- double (*fnct)(double);
- double i;
- char buf[19];
- scanf ("%p %lf %s", &fnct, &i, buf);
- printf ("%lf %d\n",fnct(i), strlen(buf));
- return 0;
- }
- erik@powell:/tmp$ gcc -lgsl -lm -lgslcblas test.c -o test -g
- erik@powell:/tmp$ gdb test
- GNU gdb 6.8-debian
- Copyright (C) 2008 Free Software Foundation, Inc.
- License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
- This is free software: you are free to change and redistribute it.
- There is NO WARRANTY, to the extent permitted by law. Type "show copying"
- and "show warranty" for details.
- This GDB was configured as "x86_64-linux-gnu"...
- (gdb) b main
- Breakpoint 1 at 0x4006a5: file test.c, line 11.
- (gdb) r
- Starting program: /tmp/test
- Breakpoint 1, main () at test.c:11
- 11 scanf ("%p %lf %s", &fnct, &i, buf);
- (gdb) p sqrt
- $1 = {<text variable, no debug info>} 0x7fa6075f3d50 <sqrt>
- (gdb) p sqrt(4)
- $2 = 0
- (gdb) set variable fnct=sqrt
- (gdb) set variable i=4
- (gdb) p fnct(i)
- $3 = 2
- erik@powell:/tmp$ gcc -v -lgsl -lm -lgslcblas test.c -o test -g
- Using built-in specs.
- Target: x86_64-linux-gnu
- Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1.1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
- Thread model: posix
- gcc version 4.3.2 (Debian 4.3.2-1.1)
- COLLECT_GCC_OPTIONS='-v' '-o' 'test' '-g' '-mtune=generic'
- /usr/lib/gcc/x86_64-linux-gnu/4.3.2/cc1 -quiet -v test.c -quiet -dumpbase test.c -mtune=generic -auxbase test -g -version -o /tmp/ccChhzYk.s
- ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
- ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../x86_64-linux-gnu/include"
- ignoring nonexistent directory "/usr/include/x86_64-linux-gnu"
- #include "..." search starts here:
- #include <...> search starts here:
- /usr/local/include
- /usr/lib/gcc/x86_64-linux-gnu/4.3.2/include
- /usr/lib/gcc/x86_64-linux-gnu/4.3.2/include-fixed
- /usr/include
- End of search list.
- GNU C (Debian 4.3.2-1.1) version 4.3.2 (x86_64-linux-gnu)
- compiled by GNU C version 4.3.2, GMP version 4.2.2, MPFR version 2.3.2.
- warning: MPFR header version 2.3.2 differs from library version 2.3.1.
- GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
- Compiler executable checksum: 3741a6052d20b6389f93b1cc4a619780
- COLLECT_GCC_OPTIONS='-v' '-o' 'test' '-g' '-mtune=generic'
- as -V -Qy -o /tmp/cca0LLSw.o /tmp/ccChhzYk.s
- GNU assembler version 2.18.0 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.18.0.20080103
- COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.3.2/:/usr/lib/gcc/x86_64-linux-gnu/4.3.2/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.3.2/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.3.2/:/usr/lib/gcc/x86_64-linux-gnu/
- LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.3.2/:/usr/lib/gcc/x86_64-linux-gnu/4.3.2/:/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../:/lib/:/usr/lib/
- COLLECT_GCC_OPTIONS='-v' '-o' 'test' '-g' '-mtune=generic'
- /usr/lib/gcc/x86_64-linux-gnu/4.3.2/collect2 --eh-frame-hdr -m elf_x86_64 --hash-style=both -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o test /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.3.2/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../.. -lgsl -lm -lgslcblas /tmp/cca0LLSw.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.3.2/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crtn.o