- 注册时间
- 2005-2-11
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2008-4-12 19:36:13
|
显示全部楼层
由于编译器体制限制,无法实现类型转换,可以通过该编译命令(#attr)临时修改变量的属性,从而实现类型转换(很不规范的说 )。
如:- long a = 123456789;//address start at 0x2000
- void main()
- {
- long b;
- int c;
- c = &a;
- SetScreen(1);
- b = #attr(0x2000, -1, -1, 0, 1);//相当于LavaX中的: b = (char *)0x2000;
- printf("value: %d\n", b);
- b = #attr(c, -1, -1, 19, 4);//相当于LavaX中的: b = (long *)c;
- printf("value: %d\n", b);
- getchar();
- }
复制代码 当然还可以有更加复杂的操作。。。 |
|