|
用的 vc++ 6.0是报错如下
--------------------Configuration: hello_pt - Win32 Debug--------------------
Compiling...
main.c
C:\Documents and Settings\Administrator\桌面\pt-1.4\hello_pt\main.c(17) : error C2051: case expression not constant
C:\Documents and Settings\Administrator\桌面\pt-1.4\hello_pt\main.c(30) : error C2051: case expression not constant
C:\Documents and Settings\Administrator\桌面\pt-1.4\hello_pt\main.c(43) : error C2051: case expression not constant
C:\Documents and Settings\Administrator\桌面\pt-1.4\hello_pt\main.c(68) : warning C4013: 'sleep' undefined; assuming extern returning int
执行 cl.exe 时出错.
hello_pt.exe - 1 error(s), 0 warning(s)
工程如下: 直接用官方下载的例子也不能通过 初步怀疑vc++的 __LINE__ 这个保留符号有问题。求问大师们怎么解决的。
#include <stdio.h>
#include <windows.h>
#include "pt.h"
static struct pt pt_h,pt_m,pt_s;
static int ihour=0,iminute=0,isecond=0;
static int c_s=0,c_m=0;
static int clk=0;
PT_THREAD(hour(struct pt*pt))
{
PT_BEGIN(pt);
PT_WAIT_UNTIL(pt,c_m==1);
c_m=0;
if(ihour==23)
ihour=0;
else
ihour++;
PT_END(pt);
}
PT_THREAD(minute(struct pt*pt))
{
PT_BEGIN(pt);
PT_WAIT_UNTIL(pt,c_s==1);
c_s=0;
if(iminute==59)
iminute=0;
else
iminute++;
PT_END(pt);
}
PT_THREAD(second(struct pt*pt))
{
PT_BEGIN(pt);
PT_WAIT_UNTIL(pt,clk==1);
clk=0;
if(isecond==59)
{
isecond=0;
c_s=1;
}
else
isecond++;
PT_END(pt);
}
int main(void)
{
printf("hello.pt\n");
PT_INIT(&pt_h);
PT_INIT(&pt_m);
PT_INIT(&pt_s);
while(1)
{
PT_SCHEDULE(second(&pt_s));
PT_SCHEDULE(minute(&pt_m));
PT_SCHEDULE(hour(&pt_h));
sleep(1);
clk=1;
printf("Time---%d:%d:%d\n",ihour,iminute,isecond);
}
return 0;
} |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|