Win2000 Pro与Server的区别

2023-10-28 08:32
文章标签 区别 server pro win2000

本文主要是介绍Win2000 Pro与Server的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Win2k Pro与Server的区别

作者: 袁怀善

最近编程越到一个怪事,同一个程序运行在windows2000 server级的操作系统上一点问题没有,而运行在window 2000 professional上就会出现异常.而且一旦出现异常,就会使cpu的占有率高达100%,程序跟踪结果结论为:堆栈溢出(stack overflow).windows 2000系列的OS不是一个NT内核吗,可是书中许多资料都没严格在windows 2000系列产品中区分版式本,而一般只是和98或者XP区分.由于程序中大大小小开了四个线程,加上主线程一共五个,访问串口需要一定的线程同步,一开始我以为是我处理线程对象同步上有失误,但是检查一下代码,没问题呀,找不出什么原因.结果又测试了一翻,结果功夫不负有心人,我发现出现错误是由于鼠标点击菜单引起的,这使我想到原来我使用的一个类CBitmapMenu这个类是我从书中的实例中摘录的,后来觉得这个类很好,就拿来用了.会不会是这个类的问题,我马上修改代码一试….果然不错,就是CBitmapMenu的问题,CBitmap是一个菜单自画类(owner Draw)可以自动读取工具栏图标从而更新菜单项左边的的小图标.
由以上事件得出以下结论:
1 CBitmapMenu类存在问题(也可能是使用不当,但是为什么windows 2K server/xp下正常呢?);在使用别人或者自己写的类时,一定要在各个操作系统版本上进行严格的测试.为了测试方便,建议开发时使用客户用得最多的操作系统比如98/windows 2000 pro/xp,一般用户不会用server级的操作系统.
2.尽管出现此问题可能是一个编程错误,但是我还是下一个结论:windows 2000 各个版本出于性能的考虑,程式默认的参数一定会有一些不同,比如说线程堆栈(这一点我现在还没证实).
3.为了让程序有较大的兼容性,建议不要使用有版本限制的函数库或者类库(比如换肤库),另外,程序运行的稳定性永远是第一位的,漂亮的界面才是其次,因此,一定要在保证前者的基础上,才能谈其他的.
4.开发人员不要随意加入自己觉得有特色(一般是有点小技巧的)的功能,除非用户明确要求,否则要让软件的操作方法,运行过程特征等与通用软件保持一致(如Office系列),不然有可能开发出用户根本不想要的功能,结果,出力不讨好,又劳民伤财.
5.程序设计出来后,多多少少会有很多多毛病,开发人员最好和测试人员配合好,并且开发人员最好在自己测不出毛病时,再让测试人员测试.并且最好要好好沟通,这样才能使软件逐步完善起来.

这篇关于Win2000 Pro与Server的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/291997

相关文章

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用