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

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Go之errors.New和fmt.Errorf 的区别小结

《Go之errors.New和fmt.Errorf的区别小结》本文主要介绍了Go之errors.New和fmt.Errorf的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考... 目录error的基本用法1. 获取错误信息2. 在条件判断中使用基本区别1.函数签名2.使用场景详细对

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

SQL Server 中的 WITH (NOLOCK) 示例详解

《SQLServer中的WITH(NOLOCK)示例详解》SQLServer中的WITH(NOLOCK)是一种表提示,等同于READUNCOMMITTED隔离级别,允许查询在不获取共享锁的情... 目录SQL Server 中的 WITH (NOLOCK) 详解一、WITH (NOLOCK) 的本质二、工作