#include #include #if defined( _M_I86 ) #define alloc( x, y ) sbrk( x ); y = sbrk( 0 ); #else #define alloc( x, y ) y = sbrk( x ); #endif void main() { void *brk; #if defined( _M_I86 ) alloc( 0x0000, brk ); /* calling printf will cause an allocation */ printf( "Original break value %p\n", brk ); printf( "Current amblksiz value %x\n", _amblksiz ); alloc( 0x0000, brk ); printf( "New break value after printf \t\t%p\n", brk ); #endif alloc( 0x3100, brk ); printf( "New break value after sbrk( 0x3100 ) \t%p\n", brk ); alloc( 0x0200, brk ); printf( "New break value after sbrk( 0x0200 ) \t%p\n", brk ); #if defined( _M_I86 ) alloc( -0x0100, brk ); printf( "New break value after sbrk( -0x0100 ) \t%p\n", brk ); #endif }