27,375
社区成员
发帖
与我相关
我的任务
分享
#include <REG52.h>
#define OSC_FREQ 12000000UL
#define OSC_PER_INST 12
#define INST_PER_LOOP 9
#define CH_MOVE_TIME 100
#define CMOVENUM (CH_MOVE_TIME*OSC_FREQ/(1000*OSC_PER_INST*INST_PER_LOOP))
typedef unsigned int uInt16;
typedef unsigned long uInt32;
void main()
{
uInt32 i=CH_MOVE_TIME*OSC_FREQ; //1200000000
uInt16 t=OSC_PER_INST; //12
uInt16 q=INST_PER_LOOP; //9
uInt32 j=1000*t*q;
uInt16 k=i/j;
}
void main()
{
uInt16 t=12;//1行
uInt16 q=9;//2行
uInt16 j=q*t;//3行
while(1);
}
如果你把优化级别再调高点,你会发现1,2,3行全优化没了,因为你的t,q,j对输出没半点作用
void main()
{
uInt16 t=12;
uInt16 q=9;
uInt16 j=q*t;
}