[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
[email protected]
http://www.netbehaviour.org/mailman/listinfo/netbehaviour