fix MSVC warning C4389: signed/unsigned mismatch
fix MSVC warning C4189: '...' : local variable is initialized but not referenced
fix MSVC warnings C4510 and C4610: default constructor could not be generated, '' can never be instantiated - user defined constructor required
C4244: conversion from '' to '', possible loss of data
BYTE_MAX isn't defined for all target platforms
fix MSVC warning C4100: unreferenced formal parameter
fix MSVC warning C4121: '...' : alignment of a member was sensitive to packing
disable MSVC warning C4706 for Debug; disable C4100 and C4706 for Release