EVC和VC2005开发智能设备的程序,相互比较各自有什么优点和缺点?谢谢大家了
EVC(Embedded Visual C++)针对的是本地代码开发,IDE开发环境也是比较节省资源,开发出来的可执行代码无需附加系统链接库就可以在2002/2003/2003 SE环境运行,不足之处就是开发环境不是很顺手,需要安装插件(如VisualAssist)来提高编程效率,模拟器的可执行代码和真实物理机可执行代码不一致,特别是模拟器和一些CPU、主板不是很兼容(主要问题是超线程和防数据溢出保护,最惨情况就是连EVC都装不了,把BIOS的数据保护关了就可以了),结果导致在模拟器调试时速度慢得可怕,单步执行一条语句竟然要花5秒左右的时间,在这种恶劣的环境下调试个循环语句结果是程序排错了但我崩溃了。对于开发SmartPhone程序,EVC没有提供MFC开发的解决方案,不过选用WTL是个不错的代替品。
VS2005庞大豪华无比,其实真正针对的是.net开发,虽然也可以开发VC,相对EVC写代码时顺手多了,但就是没有开发.net更方便的功能,另外VS2005给我最大的印象就是无比冷酷的内存杀手,512M的机器可能是刚够塞VS2005和SmartDevice Emulator的牙缝,要想流畅一点,1GB内存是值得推荐的,VS2005提供了一个智能设备模拟器,和EVC最大的区别在于这个模拟器可以真实地模拟物理机器代码,也就是你可以把普通的PPC或SP软件装在这个模拟器上运行(没有真机器的人可以过过瘾),以前在EVC上开发PPC软件最痛苦莫过于有时在模拟器上执行得好好的程序到了真机器就有些莫名其妙的错误,现在有了一致的开发环境,这种情况我想一般不会出现了吧。VS2005提供了开发SmartPhone应用程序的MFC结构解决方案,现在开发起来可就方便多,不用在EVC Win32框架下痛苦地挣扎,不过代价就是要发布软件是要提供两三个MFC DLL程序才能正常,大小大概要1M,当然天下没有白吃的午餐,用MFC来开发当然方便多了,但是速度就大打折扣了,我在用系统生成的Hello World在SmartPhone上运行,Win32版本的马上就显示出来,而MFC版本的则要迟钝1秒左右的时间才显示出界面,另外,在VS2005用MFC开发PPC发布时也要发布MFC8U.dll、MSVCR80.dll、MFC80CHS.dll几个动态链接库才能保证程序运行,因为PPC上只提供了MFC42版本的动态链接库。
顺便说说CF net,虽然CF net开发起来简单如VB,(我不说象Delphi的原因就是在.net方方面面上几乎都可以找到Delphi的身影,但你照着这种熟悉的感觉去用时却又会让你忍不住破口大骂,唉,谁叫Borland出了个脑壳进水的败家东家),但是CF net天生的代码容易被反编译的不安全特点可能限制了它作为商业软件的首选语言,就是用混淆器也顶多让XX者花多半小时功夫,而且用.net cf 2.0来开发PPC软件似乎也太过分些,一只PPC的空间才多大,cf 2.0的驱动就要用了2M多,可能是以前在Apple II上学习编程时落下的毛病,我对内存的使用十分地敏感。
总的来说EVC还是开发PPC/SP软件的主流,VS2005也是一种不错的选择,至少开发CF NET是个不错的选择。不过提醒一下用什么开发就最好坚持下去,别天真的想先用EVC开发再升级到VS2005上,或者相反,因为首先是一些系统调用在EVC和VS2005运行后就可能有不同的结果,在EVC下执行得好好的程序移植到VS2005下的运行结果可能不是你想象中的那样,其次就是VS2005打开EVC的项目问题会很友好地提醒你要升级,瞎忙了一阵却无法编译升级后的项目文件,所以想在两个开发平台间迁移项目,我看还是不要自找苦吃。至于操作系统平台方面,虽然WM 6.0已有传闻,而WM5.0正在各种新机器上发布,但市场和用户反映最好用的却是2003/2003SE,所以EVC也正是目前开发PPC和SP的最佳工具,至少它是免费的。
还是evc用的习惯啊,可惜mobile 5,6都要求vs2005了。
vs2005 开发周期开,开发环境强大,但是觉得还evc开发的应用程序运行的快
VS2005很好用,Bug比EVC4少,功能全,而且自带的Device Emulator功能不错。
我已经不再用EVC了。
有一点挺重要的evc不支持windows mobile,所以你如果是mobile平台上的,那就只好用vs2005,
但是vs2005很大的,耗资源
我现在在用vs2008 开发,开发环境IDE比evc 强大方便多了,正如91program 所说太费内存,下载也不能evc 快。 有vs2008的最大想法是用.net开发,但C++.net 用clr 在我的sdk里会提示找不到System, 不知道怎么办,哪位大哥指点一下?
有一个问题,vc2005开发的智能设备ocx,如何改造能在pc下的智能设备应用中开发使用?