`

从版本宏定义谈Windos的版本(一)

阅读更多

从版本宏定义谈 Windos 的版本(一)

   你想知道 Windows 有哪些版本号码?如果你是开发人员,可以从微软的 SDK 中可以看出一些:

 

//
// _WIN32_WINNT version constants
//
#define _WIN32_WINNT_NT4                               0x0400
#define _WIN32_WINNT_WIN2K                           0x0500
#define _WIN32_WINNT_WINXP               0x0501
#define _WIN32_WINNT_WS03                  0x0502
#define _WIN32_WINNT_WIN6                 0x0600
#define _WIN32_WINNT_VISTA                0x0600
#define _WIN32_WINNT_WS08                 0x0600
#define _WIN32_WINNT_LONGHORN           0x0600
#define _WIN32_WINNT_WIN7                  0x0601

   上面的内容是摘自最新的 Win7 SDK 中的 sdkddkver.h

 

一、 WIN 32 位有哪些版本

  我们可以看到, Windows 的版本从最开始的版本 4.0 发展到现在是 6.1 。每个版本的名称是:

  •   4.0 版本的 Windows 被称作 Windows NT 4
  •   5.0 的版本的 Windows 被称作 Windowns 2000
  •   5.1 Windows 版本被称作 Windows XP
  •   5.2 Windows 版本被称作是 Windows Server 2003
  •   6.0 Windows 版本被称作是 Windows Vista 或者是 Windows Longhorn ,或者是 Windows Server 2008
  •   6.1 Windows 版本被称作是 Windows 7.
二、 Win 7 的版本号为什么不是 7.0

  比较奇怪的事情是,尽管 Windows 7 带有一个数字 7 ,可视它的版本号只是比上一个系统 Windows Vista 大一个次要版本号,是 6.1 。这是为什么,据微软官方博客的说法是:

  “ Windows 2000 的代码版本号是 5.0 ,我们推出 Windows XP 时,用的是 5.1 ,尽管 XP 是一次重大升级,我们为了最大限度保持应用程序的兼容,仍然没有改变主要的版本号。后来,我们有了 Windows Vista, 就是 Windows 6.0 ,所以,作为我们另一个重大升级, Windows 下一版本号叫 Windows 7 是自然而然的事

在用 Windows 5.1 作为 XP 版本号的时候,我们是为了帮助开发者保持 API 的兼容,在 Windows Vista 版本改为 6.0 的时候,我们得到不少教训,因改变基本版本号而导致严重的兼容问题。所以,我们决定将 Windows 7 的版本号定为 Windows 6.1

  ......

  有人会认为将 Windows 7 的版本号定为 6.1 是否意味着 Windows 7 是一次小的升级,并非如此。 Windows 7 是一次重大的革命性创新,我们使用 6.1 的唯一原因是必须保持应用程序的兼容。”

  看到没有,官方的说法是为了保持应用程序的兼容性所以只改变了次要版本号。不过在我看来, Win 7 相对 Vista 来说改变并不是很大,改变一下次要版本也反应了 Win 7 的改变不是实质和核心的改变,最多是微软为了在 Vista 营销失败情况下修改自己错误而特意打出的一张牌,让我们这些用户忘记不愉快的 Vista ,痛痛快快扔掉 XP ,赶快掏钱,换成 Win7

 

三、 4.0 以前的版本在哪儿?

   从我们在上边可以看到,起始的版本号是 4.0 ,难道 Windows 一出生就是大高个 4.0 当然不是,之前还是有很多版本。微软也不能独立于客观事物发展变化的规律,一下子就能吃过胖子。最开始的 Windows 版本是 1.0 ,接着是 2.0 ,不过接触过当时这两个版本的人现在也不多了,原因很简单,一是 Windows 当时功能是相当简陋的,也很丑,另外是当时还有比 Windows 好看得多的 Apple Macintosh Windows2.0 努力模仿的就是它。

微软随后推出了著名的 Windows 3.0 ,这个“千呼万唤始出来”的操作系统一面世便在商业上取得惊人的成功,但是在 1994 年时被苹果公司控告侵权,展开了著名的 Look and Feel 诉讼官司。

Windows 1.0 3.0 ,它们有一个共同点,那就是它们都属于 WIN 16 ,而在 4.0 以后都是 WIN 32

 

分享到:
评论

相关推荐

    Windows头文件

    在头文件中,有许多宏定义,例如`WINVER`宏,它定义了Windows的版本号,值为0x0500,表示Windows 5.0版本。还有一些其它的宏定义,例如`WINUSERAPI`宏,它用于定义API函数的修饰符。 3. 变量定义 头文件中定义了...

    Hi3861windos平台源码编译需要的工具

    - 预处理:GCC会处理源代码中的预处理器指令,例如宏定义、条件编译等。 - 编译:编译器将预处理后的代码转换成汇编语言。 - 汇编:汇编器将汇编语言代码转换为机器码。 - 链接:链接器将编译生成的对象文件与库...

    windows下C++学习之编译器使用

    1. **预处理**:预处理器处理#include指令,替换宏定义等。 2. **编译**:编译器将源代码转换为汇编代码。 3. **汇编**:汇编器将汇编代码转换为机器码。 4. **链接**:链接器将多个目标文件合并成一个可执行文件,...

    SASM 汇编语言IDE(windows版)

    MASM提供了丰富的宏指令和类型定义,适合于开发Windows API相关的程序。SASM对MASM的支持,使得开发者能够在熟悉的环境中使用这些特性。 ### **2. 调试功能** SASM不仅提供代码编辑和编译的功能,还内置了调试器。...

    创建windows服务程序的demo

    在`targetver.h`中可能定义了Windows SDK的版本,确保兼容性。创建和管理Windows服务需要用到Windows API,如`CreateService()`、`StartServiceCtrlDispatcher()`、`DeleteService()`等,这些函数位于`winsvc.h`...

Global site tag (gtag.js) - Google Analytics