第1章,[Win32 章节]:Windows 简史

专栏导航

上一篇:第1章:用 VS2010 编写 WIndows SDK 程序

回到目录

下一篇:Windows 编程基础:动态链接库

本节前言

对于本节所讲解的知识,有可能,你会需要时不时地参考本专栏之前的文章。真的遇到了需要参考之前的文章的知识点,请你自行查阅。

我呢,也会提到一部分的参考课节。但是呢,你不应该依赖于我的主动提及。最好呢,你自己能够多去了解和查看本专栏目录。

本节主要是一个自习课。

一. 本节内容参考

下面的链接,有本节的参考教材。

参考课节:Windows 编程专栏参考教材

本节内容,位于佩措尔德的教材之中。

请大家打开教材。

本节,大家需要去自习的,是佩措尔德教材的第 1 页到第 4 页的全部内容,和书上第 5 页的 1.1.2 节之前的内容。

注意,原教材中,第 4 页有明确标注页码,而第 1 章开头所在的页码,为第 3 页,此页没有明确标注页码。而教材的第 2 页是一个空页,位于第 1 章开头所在页面的前一页。而第 3 页往前翻两页,是第一部分的大纲与概览。

也就是,我们要求大家浏览第一部分的大纲,阅读第一章开头的内容,阅读教材 1.1 节开头的内容,以及阅读 1.1.1 节的全部内容。

二. 本节导读

(1)本节主要内容

本节内容,我觉得,其实没啥好说的。这一节,主要地,其实就是在教材 1.1.1 节里面,吃一下微软与 IBM 的一些个瓜。

这种内容有啥用吗?

实际上,用处不大。

但是,阅读这样的东西,还是可以让我们增长许多的背景知识。当你学完了 Windows API 知识的时候,再回头来看这些个瓜,也许,你会觉得很有意思。

而在第一次学习的时候,这可以说是一种休息,一种学习中的休息。

学习,其实也是需要节奏上的张弛有度的。

一味地学习难点知识,其实也是不好的。

张弛有度,劳逸结合,还是好的。

在下面的几个小节中,我会视情况来讲一讲某些个概念术语。

视情况,是说,有的概念,我能够比较了解,能够多说一些。有的概念,我自己也是掌握得比较模糊,因此,可能说的就少一些。

(2)Windows NT

Windows NT 是什么?

简单来说,Windows XP、Win7,Win8,Win10 和 Win11,都是属于 Windows NT 。如果以后出现了 Win12,Win13 等等的版本,大体上,它们也会是属于 Windows NT 的。

(3)精简指令集 RISC

这是在 CPU 设计领域,会用到的一个概念。英特尔的 CPU,使用的是 CISC,复杂指令集系统。

采用复杂指令集的 CPU,倾向于多设计一些个指令,以便让 CPU 可以用指令的方式,来完成更多的功

与复杂指令集系统相对应地,便是精简指令集系统,RISC 。采取这种指令集系统的人认为,计算机中,常用的指令不多。因而,某些个 CPU 设计者,便只保留真正需要用到的核心指令。而某些个复杂指令集系统中所包含的复杂指令,精简指令集采取使用多条指令来完成同一功能的做法。

虽说,采用精简指令集,来完成复杂指令集系统中某一个复杂指令的功能,它会需要更多的指令,但是呢,在当今的指令流水线技术的辅助之下,精简指令集,反而运行得更高效。

精简指令集技术的发展,也使得本来采用复杂指令集系统的英特尔,在内部实现上,也将其复杂指令拆解为精简指令了。

指令流水线是啥?在这里,我们不去展开,知道有这回事就行了。

本专栏不是来设计 CPU 的。我们会有其他的专栏,来讲解设计 CPU 的知识。

(4)字符模式

微软早期的系统,是 MS-DOS 系统,这是运行在字符模式的操作系统。操作系统是字符模式的,相对应地,它里面的程序,也是运行在字符模式的。

什么是字符模式?

现如今的 Windows 应用程序,都有应用程序窗口,有标题栏、菜单栏、工具栏、状态栏等等的东西,用户使用键盘和鼠标等等输入设备,与应用程序窗口及其标题栏、菜单栏、工具栏等等的元素打交道,以便和应用程序进行互动。

这种带有应用程序窗口、标题栏、菜单栏、工具栏等等的界面元素,并通过键盘鼠标等输入设备与之交互的程序,为图形界面程序。这种程序,所使用的用户交互接口,为图形界面接口,英文为 Graphics User Interface,简称 GUI 。

相对地,早期的 MS-DOS,它里面的程序,不通过应用程序窗口等等的图形元素与用户开展交互,它们是运行在类似于现如今的 Windows 的命令提示符、Powershell 界面中,总之,是运行在命令行界面中的。用户通过输入命令,来运行程序,与程序进行交互。

比如,我们按下【Win + R】快捷键,会弹出来一个窗口。

Win 键是什么?
图1

图1 中,用圆圈标注出来的东西,就是 Win 键。

图1 中,我展示的,是笔记本键盘中的 Win 键。我们再来看一看台式机的外接键盘所用的 Win 键。
图2

一般地, Win 键都是位于键盘的最下面一行按键中靠左边的区域的,并且会位于左 Ctrl 键与左 Alt 键之间。

按下了【Win + R】快捷键以后,弹出的窗口如下图所示。
图3

在图3 的红色框线所示的输入框里面,我们输入【cmd】,如下图所示。
图4

然后呢,我们点击【确定】按钮,接下来,会弹出来一个窗口,如下图所示。
图5

在图5 中,我们可以输入命令,来与 Windows 交互。

比如,我们可以在其中输入【dir】,如下图所示。
图6

输入的时候,注意中文输入法与英文输入法的问题。如果,输入的时候,你采用了中文的拼音输入法等等,按一下 Shift 键,就可以将英文输入到图6 所示的命令行界面了。

输入好了以后,按下回车键,结果如下图所示。
图7

图7 中的最后一行文本,【C:\Users\Administrator>】上方的内容,便是【dir】命令的执行结果了。

通过【Win + R】快捷键,然后在弹出的窗口输入【cmd】,然后点击【确定】按钮,弹出来的界面,它是 Windows 的命令提示符界面,它也是 Windows 里面的一种命令行界面。

而 dir,则是可以在 Windows 的命令提示符界面里运行的一条命令。

像这种的,通过命令提示符界面、 Powershell 界面等等的命令行界面,通过输入命令的方式,来与操作系统或者应用程序交互的程序运行模式,就是字符模式。

在 Windows 里面,这种字符模式,在命令提示符、Powershell 窗口里面还有所保留。但是呢,Windows 里面,字符模式不是主流。

相比于 Windows,Linux 操作系统则是将字符模式作为一种重要的,甚至是主要的程序运行模式。

如果打算深入学习程序设计的知识的话,Linux,是大家需要去接触与学习的东西。

(5)Visual C++ 6.0

我在上大学的时候,课堂上,老师演示 C 语言程序,还在用着 Visual C++ 6.0 。这个软件,它是微软的一个产品,简称 VC++ 6.0。在当时来讲,它的功能是非常强大的。不过,从 win7 开始,这个程序就有着兼容性的问题了,渐渐地,这个软件也就淡出了人们的视线。

现在,若是想要开发 Windows 程序,更为推荐的,是微软的另一款 IDE,也就是 Visual Studio 软件。

书上推荐的软件是 VC++ 6.0,这在作者写书的当时,它的确是很新的软件。不过,现在来讲,有点过时了。

我们的专栏里,会去使用的,是 Visual Studio 软件的 2010 版和 2019 版,其中,以 2019 版为主。

之所以我使用的是 Visual Studio 2019,而不是 2022,或者是更新的版本,是因为,我的电脑性能没那么强,担心带不动 2022 以及更高的版本,因此,我就使用了 2019 版。

如果你的电脑性能够强,那么,你自己使用 2022 或更高版本也是可以的。

不过,在学习阶段,为了方便与专栏保持同步,我们还是推荐你使用 Visual Studio 2019 。

结束语

本节呢,实际上没啥好说的。

不过呢,大家还是可以从这里,来了解一下我们的讲解风格。

以后,我们也很有可能会开展长期的合作啊。

我导读,我讲课,你学习着。

你有不懂的,你可以向我提问。

这应该会很有趣吧。

专栏导航

上一篇:第1章:用 VS2010 编写 WIndows SDK 程序

回到目录

下一篇:Windows 编程基础:动态链接库

相关推荐
福大大架构师每日一题2 小时前
Rust 1.99.0发布:C 可变参数、裸函数、Cargo 配置、Rustdoc 性能与大量兼容性调整全解析
c语言·开发语言·rust
动词ing3 小时前
【C语言题目练习】算法 整数反转
c语言·开发语言·算法
无名猿3 小时前
手写一个线程池:任务队列、工作线程与停止顺序的三个设计点
c++·性能优化·并发编程·现代c++
longlongzihan3 小时前
LeetCode 128. 最长连续序列 —— 从排序到哈希集合
数据结构·c++·算法·leetcode·排序算法·哈希表
多弗朗皮卡丘3 小时前
C++多继承
开发语言·c++·多继承
SWAGGY..3 小时前
【C++进阶】:(7)红黑树的原理与 C++ 实现:结构设计、插入调整及性质验证
android·java·开发语言·c++·算法
(Charon)3 小时前
【C++面试】堆内存与栈内存:string、vector和对象到底存在哪里
开发语言·c++·面试
她说彩礼65万4 小时前
C语言 assert
java·linux·c语言
xlq223224 小时前
全面复习3
c++