Windows 编程辅助技能:速览定义
专栏导航
上一篇:Windows 编程辅助技能:转到定义
回到目录
下一篇:无
本节前言
本节,我们来讲解 Windows 编程的一个辅助小技巧,速览定义。它和上一节所讲的转到定义差不多,只是有一点微小的差别而已。
我们开始本节的学习。
一. 代码准备
首先呢,请大家浏览下面的文章链接的内容,并且按照里面的操作步骤,创建一个 C/C++ 多文件程序。
参考课节:编程技能:多文件编译
建立解决方案,添加源文件,编译运行等等的步骤都做好了以后,我们再来往下看。
或者,如果那个解决方案你还留着,你直接用也可以。
二. 速览定义
我们来看一看 VS2019 的界面。

在图1 中,代码区域的上边,是选项卡,每一个选项卡对应着一个代码文件。我们想要查看哪一个代码文件,就点击哪个选项卡。
选项卡区域如下图所示。

图2 中的红色框线标注了选项卡区域。
接下来,请大家分别切换到【my_head.h】选项卡,并点击选项卡里面的叉号,将【my_head.h】代码文件给关闭掉。过程如下图所示。


接下来,请大家像关闭【my_head.h】代码文件一样,继续将【calcu01.c】和【calcu02.c】代码文件给关闭掉,确保只剩下【main.c】代码文件,结果如下图所示。

在【main.c】中,涉及了好几个函数调用,如下图所示。

在图6 里面,我用红色框线,标注了三个被调用的函数,他们分别是【calcu01】,【calcu02】和【printf】。
接下来呢,请大家将鼠标指针移动到【calcu01】函数名的区域,然后点击鼠标右键,弹出下图所示的右键菜单。

在图7 里面,红色框线所示的位置,为【速览定义】菜单项。请大家点选【速览定义】菜单项,结果如下图所示。

如图8 所示,Visual Studio 临时改变了代码的编排,在我们当初点击右键的代码行的下面,开辟了一个临时的代码显示区域,这个区域的背景为浅黄色。浅黄色的右上方,有一个橙色显示的选项卡,选项卡的名字为【calcu01.c】。
之所以选项卡的名字是【calcu01.c】,是因为,在代码文件【calcu01.c】之中,有我们想要浏览的【calcu01】函数的定义。
而浅黄色背景里面的代码,正是【calcu01.c】里面,与我们想要浏览的【calcu01】函数相关的代码行。
也就是说,当我们在 main.c 里面,将鼠标指针移动到【calcu01】函数名的区域,然后点击鼠标右键,接着点选【速览定义】菜单项的时候,Visual Studio 临时地改变了原有的代码行编排,为我们展现了【calcu01】函数的定义代码。由于【calcu01】函数位于代码文件【calcu01.c】中,所以,临时开辟的代码区域,为【calcu01.c】代码文件中的代码。
在使用 Visual Studio 的时候,我们可以将鼠标指针移动到某一个函数名,宏的位置里面,然后点击鼠标右键,然后在弹出的右键菜单里面点选【速览定义】菜单项,接下来 Visual Studio 就会临时地改变原有的代码行编排,开辟一个浅黄色背景显示的,临时的代码区域,以显示我们想要浏览的函数或宏的定义代码。而我们想要浏览的函数或宏位于哪个代码文件之中,则浅黄色背景区域所显示的代码,便是哪个代码文件的代码,且在浅黄色区域的右上方,会显示一个选项卡,选项卡的名字就是这个代码文件的名字。
不但如此,在跳转到的代码文件之中,Visual Studio 还会停留在鼠标指针所指示的函数或宏的代码区域。
到了这里,对于【速览定义】功能,我们讲解了它的基本含义。接下来,请大家关闭图8 的右上角的橙色选项卡。回到 main.c 之中。
然后呢,我们接着往下看。
三. 练习
(一)转到 calcu02 函数
请大家在 main.c 代码文件里面,将鼠标指针移动到 calcu02 函数名位置,然后点击鼠标右键,在弹出的右键菜单中点选【速览定义】菜单项,过程如下图所示。


然后呢,请大家关闭图10 右上角的橙色选项卡【calcu02.c】。
(二)转到 printf 函数
在图6 里面,我们还用红色框线标注了【printf】函数。接下来,请大家按照访问【calcu01】和【calcu02】函数的方法,对【printf】函数,使用速览定义功能,结果如下。

不知道大家能否看懂图11 中的 printf 函数的定义代码。反正我是有点看不懂。也许你也看不懂。
不过,暂时看不懂就看不懂吧。本节,我们只求能够了解转到定义功能如何使用。
至于 printf 函数,我们在本专栏里面是有去讲解它的一个实现代码的。文章链接如下。
参考课节:编程技能:格式化打印03,printf
不过,在上面的参考课节里面,我们只是简单地讲解了 printf 函数的实现代码,而并未真正地讲清楚它的实现细节。如果真的想要了解 printf 函数的实现细节,大家可以学习 Linux 内核。在 Linux 0.12 内核里面,就有关于 printf 函数的实现代码。
以后,有机会的话,我可能会去讲解 Linux 0.12 内核代码。
而在本节,我们暂时只需要了解转到定义功能的使用方法就好了。
请大家关闭图11 右上角的橙色选项卡。
结束语
本节内容不难,学习愉快。
专栏导航
上一篇:Windows 编程辅助技能:转到定义
回到目录
下一篇:无