-
吼吼,不奇怪了,静默同学提示我加上default分支
default: break;
结果还真通过了
不过通过这个问题,反应出来另一个奇怪的问题:
在IAR EWSTM8里,switch()语句是不允许缺少default语句的,IAR可能考虑到怕你漏掉一个case值的时候出现问题,但是在标准C里并没有规定在switch()语句必须有default分支,从这点上说IAR是不兼容标准C的,另外:
即使缺少个default分支,IAR也没必要蹦出这么个吓人的错误提示吧,从该提示里根本看不出跟default有什么关系呀?个人觉得可以给个警告,但是应允许编译通过,软件出现错误是软件的事儿,回头会很容易跟踪到的,建议IAR改下该处问题的提示内容,至少跟switch default 啥的关联下,让用户大概知道个范围呀
另外奇怪的是,即使不加上default语句的情况下,屏蔽掉1处的代码,编译还是能通过的,这些到底怎么解释呢?
-
修改注册表,完全隐藏任务栏
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\AutoHide]
@="1"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\TaskBarTotalHide]
@="1"
-
图片是个小叉叉
-
应该只是利用PWM来计时
-
uc/os-ii v2.52版本,买本书就有源码了
-
LED_B_CONV是什么? LED在哪里?
-
自己画一个吧
-
碰到同样问题,还没有解决呢
-
想做与在做、在做与会做、会做与做得好、这三者之间的差距很大,楼主所想的都是比较难的方向,如果楼主的C不行的话,还是先加强C。最起码对指针能达到熟练应用吧。
-
是不是版本过低
-
这个是要找技术支持的。。。
-
error LNK2001: unresolved external symbol _mainCRTStartup
说明你C的运行时函数没有link上,默认编译肯定没问题的,你动哪里了?
----------------------------------------------------
本人是《Windows驱动开发技术详解》的作者张帆,希望一起交流。
我建了驱动开发群,QQ群:11312034
-
那是因为装的是wdk7,默认win7系统,找到wdk安装目录bin文件夹下的setenv.bat文件,找到下面内容
set _FreeBuild=true
set _IA64bit=false
set _AMD64bit=false
set _BscMake=FALSE
set _RunOacr=TRUE
set _VersionedHeaders=TRUE
set _LatestOsTarget=WIN7
set RAZZLETOOLPATH=%BASEDIR%\Bin
set separate_object_root=FALSE
set DDK_TARGET_OS=Win7
改成下面:
set _FreeBuild=true
set _IA64bit=false
set _AMD64bit=false
set _BscMake=FALSE
set _RunOacr=TRUE
set _VersionedHeaders=TRUE
set _LatestOsTarget=WINXP
set RAZZLETOOLPATH=%BASEDIR%\Bin
set separate_object_root=FALSE
set DDK_TARGET_OS=WinXP
你再编译一下就好了,其实只是驱动外面的文件夹名字不对头,里面的驱动是xp的
-
我现在 在用6410+WinCE6.0想办法使能Kitl,感觉就差一点点了……
我关闭防火墙试试
-
引用 2 楼 flandy1982 的回复:
是跟注册表的排列顺序有关的,具体的你可以看看枚举器的源代码.
我添到所有设备的最前面了, 怎么不是第一个被加载呢?
-
MARK
-
也还没这样用过
-
引用 3 楼 guopeixin 的回复:
两个方法:
1. 命令行进入eboot文件夹
直接输入build -c
2. 从pb左侧的文件夹表里右键选择build就行了
这个可以
-
帮顶下;
-
你的问题看不懂,你代码都写出来了,还问怎么增加?