当前位置: 代码迷 >> WinCE >> 请问:为什么程序可以单步运行,但不能快速运行
  详细解决方案

请问:为什么程序可以单步运行,但不能快速运行

热度:115   发布时间:2016-04-28 13:23:54.0
请教:为什么程序可以单步运行,但不能快速运行
各位大侠:我写了一个简单的关于字符串转换为无符号长整形秒数的程序。因为EVC不支持mktime()和localtime()等函数,   我自己写了一个。目前此程序单步执行可以,但是如果直接run,在模拟器上就会看到The   application   has   performed   an   Illegal   Operation   and   Will   Be   Shut   Down。请问这是为什么呢?怎样才能避免这一类错误呢?
我这段程序源代码如下:
extern   "C "   int   pascal   stimetoltime(char   *sTime,   unsigned   long*   plTime)
{

char   sTemp[6];
        unsigned   long   res;  
        int   year;  
//年
memset(sTemp,0x00,sizeof(sTemp));
memcpy(sTemp,sTime,4);
year=atoi(sTemp)-1970;
        res   =long(YEAR*year   +   DAY*((year+1)/4));

//月
memset(sTemp,0x00,sizeof(sTemp));
memcpy(sTemp,sTime+4,2);
        res   +=   long(month[atoi(sTemp)-1]);
        if   ((atoi(sTemp)-1)> 1   &&   ((year+2)%4))
res   -=   DAY;

//日
memset(sTemp,0x00,sizeof(sTemp));
memcpy(sTemp,sTime+6,2);
        res   +=   long(DAY*(atoi(sTemp)-1));  

//时
memset(sTemp,0x00,sizeof(sTemp));
memcpy(sTemp,sTime+8,2);
        res   +=   long(HOUR*atoi(sTemp));  
//分
memset(sTemp,0x00,sizeof(sTemp));
memcpy(sTemp,sTime+10,2);
        res   +=   long(MINUTE*atoi(sTemp));  
//秒
memset(sTemp,0x00,sizeof(sTemp));
memcpy(sTemp,sTime+12,2);
res   +=   long(atoi(sTemp));
*plTime=res;
    return   0;
}
拜谢大家!

------解决方案--------------------
你的YEAR ,DAY,month是怎么定义
以及你的stimetoltime是怎么调用的;
------解决方案--------------------
楼主的程序 是如何调用的?
传入的函数各是什么?
  相关解决方案