output long unsigned correctly
add definitions to get rid of some compiler warnings
use const char* instead of char* to get rid of some compiler warnings