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

相关文章

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。虽然它们看起来差不多,但实际应用

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

SQL Server清除日志文件ERRORLOG和删除tempdb.mdf

《SQLServer清除日志文件ERRORLOG和删除tempdb.mdf》数据库再使用一段时间后,日志文件会增大,特别是在磁盘容量不足的情况下,更是需要缩减,以下为缩减方法:如果可以停止SQLSe... 目录缩减 ERRORLOG 文件(停止服务后)停止 SQL Server 服务:找到错误日志文件:删除