当前位置: 首页 > news >正文

Windows 编程辅助技能:速览定义

专栏导航

上一篇:Windows 编程辅助技能:转到定义

回到目录

下一篇:无

本节前言

本节,我们来讲解 Windows 编程的一个辅助小技巧,速览定义。它和上一节所讲的转到定义差不多,只是有一点微小的差别而已。

我们开始本节的学习。

一.    代码准备

首先呢,请大家浏览下面的文章链接的内容,并且按照里面的操作步骤,创建一个 C/C++ 多文件程序。

参考课节:编程技能:多文件编译

建立解决方案,添加源文件,编译运行等等的步骤都做好了以后,我们再来往下看。

或者,如果那个解决方案你还留着,你直接用也可以。

二.    速览定义

我们来看一看 VS2019 的界面。

图1

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

选项卡区域如下图所示。

图2

图2 中的红色框线标注了选项卡区域。

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

图3
图4

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

图5

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

图6

在图6 里面,我用红色框线,标注了三个被调用的函数,他们分别是【calcu01】,【calcu02】和【printf】。

接下来呢,请大家将鼠标指针移动到【calcu01】函数名的区域,然后点击鼠标右键,弹出下图所示的右键菜单。

图7

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

图8

如图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 函数名位置,然后点击鼠标右键,在弹出的右键菜单中点选【速览定义】菜单项,过程如下图所示。

图9
图10

然后呢,请大家关闭图10 右上角的橙色选项卡【calcu02.c】。

(二)转到 printf 函数

在图6 里面,我们还用红色框线标注了【printf】函数。接下来,请大家按照访问【calcu01】和【calcu02】函数的方法,对【printf】函数,使用速览定义功能,结果如下。

图11

不知道大家能否看懂图11 中的 printf 函数的定义代码。反正我是有点看不懂。也许你也看不懂。

不过,暂时看不懂就看不懂吧。本节,我们只求能够了解转到定义功能如何使用。

至于 printf 函数,我们在本专栏里面是有去讲解它的一个实现代码的。文章链接如下。

参考课节:编程技能:格式化打印03,printf

不过,在上面的参考课节里面,我们只是简单地讲解了 printf 函数的实现代码,而并未真正地讲清楚它的实现细节。如果真的想要了解 printf 函数的实现细节,大家可以学习 Linux 内核。在 Linux 0.12 内核里面,就有关于 printf 函数的实现代码。

以后,有机会的话,我可能会去讲解 Linux 0.12 内核代码。

而在本节,我们暂时只需要了解转到定义功能的使用方法就好了。

请大家关闭图11 右上角的橙色选项卡。

结束语

本节内容不难,学习愉快。

专栏导航

上一篇:Windows 编程辅助技能:转到定义

回到目录

下一篇:无

http://www.xdnf.cn/news/1175527.html

相关文章:

  • 基于Springboot的中药商城管理系统/基于javaweb的中药材销售系统
  • mac测试ollama llamaindex
  • Ubuntu22.04.5 LTS安装与使用Docker
  • 最长递增子序列(LIS)问题详解
  • dev软件开发阶段的环境代号
  • 9、STM32的启动过程
  • 【STM32】FreeRTOS的移植(一)(详细流程)
  • ​​SBOM 软件供应链安全(转)
  • pandas库
  • 基于YOLOv5+pyQT6的目标检测系统通用项目模板
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(8):自動詞 & 他動詞 「~ている」「~ておく」「~てある」
  • 系统学习算法:专题十四 链表
  • 华为7月23日机考真题
  • 关于在VS2022配置启动项目的问题
  • 表征工程中哪里用到内积 :内积vs余弦相似度--谁更胜一筹?
  • 力扣面试150题--搜索旋转排序数组
  • 开源 Arkts 鸿蒙应用 开发(九)通讯--tcp客户端
  • C#知识点表格大全
  • HDFS写性能优化技巧详解:从理论到实践
  • CSS 基础
  • 【科研绘图系列】R语言绘制黑白填充等显著性标记条形图
  • 网安-SQL注入-sqli-labs
  • 内积(Inner Product)和余弦相似度区别
  • LeetCode热题100--205
  • 糖尿病数据分析:血压与年龄关系可视化
  • 变频器带动电机:全方位解析参数变化
  • SparkSQL 聚合函数 MAX 对 NULL 值的处理
  • Linux -- 进程【下】
  • Python Day22 - 复习日
  • 如何用 Kafka + Redis + 线程池搭建高吞吐异步消息处理架构