- + P A

- 快答辩了

      每一步 2009-5-19 11:16

下周一就硕士毕业答辩了,也好久没在blog上写东西了,还是留个脚印吧!

为自己祈祷。。。

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- volatile

      每一步 2008-5-22 13:28

觉得对自己有点帮助,从某人博客转:

在大多数情况下,把变量缓存在寄存器中是一个非常有价值的优化方法,如果不用的话很可惜。C和C++给你提供了显式禁用这种缓存优化的机会。如果你声明变量是使用了volatile修饰符,编译器就不会把这个变量缓存在寄存器里——每次访问都将去存取变量在内存中的实际位置。

1、中断服务程序中修改的供其它程序检测的变量需要加volatile;

2、多任务环境下各任务间共享的标志应该加volatile;

3、寄存器对应的变量值一般最好加上volatile,例如:

volatile UINT32* Register;    // Register is the address of the register

又如:

 *(volatile UINT32 *) (UINTN) (ApicBase + APIC_REGISTER_ICR_HIGH_OFFSET)  = ICRHigh;
*(volatile UINT32 *) (UINTN) (ApicBase + APIC_REGISTER_ICR_LOW_OFFSET)  = ICRLow;

4、当多条指令往同一个寄存器内按照时序写值时,如果用O2优化,程序只写入最后一条指令的写!显然是错误的!

===============

自己的实践!

用cl test.c /FAcs /Zi /O2编译下面程序。

标签集:TAGS:Study
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 显示器

      每一步 2007-6-7 17:47

谈论了一年多的“fengxi”站场终于开通了(居然跟高考同一时间,所以也许一辈子都不会忘了),项目中有我稀里糊涂

搞定的“显示器软件”,不知道会出现什么毛病?心中一直在祈祷……

今天,我在脑袋极其混乱的情况下(也许是连着好几天的晚睡早起造成的),把几个显示器又搬了出来,通电看看有什么毛病,最后还修改了一点小程序,把时间校正给加进去了!

测试好像能够通过,嗨,不知道啦,就这样吧!

对自己不够自信啊!也许是做得太少,给自己鼓鼓气!!!加油……

为了给“刺儿”挖个漂亮的“老鼠洞”我说什么都会拼的!

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- VC中的映射模式

      每一步 2007-5-14 19:22

折腾了好几天,终于有点明白了,好像学VC有一小段时间了,但是由于一直没有动手编程,所以总感觉自己眼高手低!

唉,抓紧时间了,硬着头皮了!

标签集:TAGS:programming
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()