用memset时一定要小心，当gcc编译时优化级别不一样时，很可能这里出问题，导致
memset和手工清零的结果不一样