Jim Abblet's U64 portability fix

and #pragma once directive added, also based on his gcc-compatibile
source modification