[sirrom@scrapyard Projects]$ head side_effects.c -n15 /* side_effects.c (save as) * (previously known as apoo.c) * *(within terminal) * gcc side_effects.c -ggdb -o side_effects * gdb ./side_effects *(within gdb now) * run * backtrace * quit * * gcc side_effects.c -ggdb -DNDEBUG side_effects * ./side_effects */
[sirrom@scrapyard Projects]$ gcc side_effects.c -ggdb -o side_effects [sirrom@scrapyard Projects]$ gdb --quiet ./side_effects Reading symbols from /home/sirrom/Projects/side_effects...done. (gdb) start Temporary breakpoint 1 at 0x40053c: file side_effects.c, line 44. Starting program: /home/sirrom/Projects/side_effects Temporary breakpoint 1, main (argc=1, argv=0x7fffffffe618) at side_effects.c:44 44 assert(("i hope you know", a = get_apoo()) == 0 (gdb) step get_apoo () at side_effects.c:34 34 GET_VAR_TYPE( int, a ) (gdb) main (argc=1, argv=0x7fffffffe618) at side_effects.c:46 46 assert(("in many ways", b = get_bpoo()) == 0 (gdb) get_bpoo () at side_effects.c:35 35 GET_VAR_TYPE( float, b ) (gdb) main (argc=1, argv=0x7fffffffe618) at side_effects.c:48 48 assert(("to noticibly", c = get_cpoo()) == 0 (gdb) get_cpoo () at side_effects.c:36 36 GET_VAR_TYPE( char, c ) (gdb) main (argc=1, argv=0x7fffffffe618) at side_effects.c:50 50 assert(you_are_a(("a construction", (gdb) you_are_a (_n=1) at side_effects.c:38 38 int you_are_a(int _n) { return _n; } (gdb) side_effects: side_effects.c:52: main: Assertion `you_are_a(("a construction", (a++ ^ b ^ ++c))) == 0 && "that has always"' failed. Program received signal SIGABRT, Aborted. 0x00007ffff7ab2725 in raise () from /lib/libc.so.6 (gdb) backtrace #0 0x00007ffff7ab2725 in raise () from /lib/libc.so.6 #1 0x00007ffff7ab3b9b in abort () from /lib/libc.so.6 #2 0x00007ffff7aab4de in ?? () from /lib/libc.so.6 #3 0x00007ffff7aab582 in __assert_fail () from /lib/libc.so.6 #4 0x00000000004005ef in main (argc=1, argv=0x7fffffffe618) at side_effects.c:50 (gdb) quit A debugging session is active. Inferior 1 [process 4219] will be killed. Quit anyway? (y or n) y [sirrom@scrapyard Projects]$ gcc side_effects.c -ggdb -DNDEBUG -o side_effects [sirrom@scrapyard Projects]$ ./side_effects [sirrom@scrapyard Projects]$ -- http://jwm-art.net/ image/audio/text/code/
/* side_effects.c (save as) * (previously known as apoo.c) * *(within terminal) * gcc side_effects.c -ggdb -o side_effects * gdb ./side_effects *(within gdb now) * run * backtrace * quit * * gcc side_effects.c -ggdb -DNDEBUG side_effects * ./side_effects */ #include <assert.h> typedef struct chess { int var_apoo; float var_bpoo; char var_cpoo; } chess; chess piece = { 0, 0.0f, 0 }; #define GET_VAR_TYPE( TYPE, VAR ) \ TYPE get_##VAR##poo(void) \ { \ return piece.var_##VAR##poo; \ } GET_VAR_TYPE( int, a ) GET_VAR_TYPE( float, b ) GET_VAR_TYPE( char, c ) int you_are_a(int _n) { return _n; } int main(int argc, char** argv) { int a, b, c; assert(("i hope you know", a = get_apoo()) == 0 && "you're splendid"); assert(("in many ways", b = get_bpoo()) == 0 && "but you failed"); assert(("to noticibly", c = get_cpoo()) == 0 && "realize you're"); assert(you_are_a(("a construction", (a++ ^ b ^ ++c))) == 0 && "that has always"); return 0; }
_______________________________________________ NetBehaviour mailing list NetBehaviour@netbehaviour.org http://www.netbehaviour.org/mailman/listinfo/netbehaviour