去年写的一个VS2005服务程序,最近需要重新增加功能,增加功能后却发现一直无法正常进行SOCKET通讯了,仔细调试后发现是发送的数据结构发生了错位引起的,我于是回想起当初写的时候曾改过一个编译设置,却老是想不起来了,真后悔当时没有记下来,想了很久,终于让我想起来了,就是因为TIME_T结构在VS2005里是64位引起的,而VC6写的另一个程序是32位,2边通讯的时候就自然产生了错位.
具体设置方法如下: Property Pages->C/C++->Preprocessor->Preprocessor Definitions增加_USE_32BIT_TIME_T宏.