当前位置: 首页 > 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.dtcms.com/a/294091.html

相关文章:

  • 生成式人工智能展望报告-欧盟-02-技术方面
  • 以 “有机” 重构增长:云集从电商平台到健康生活社区的跃迁
  • 突发限制下的破局之路:国产之光 Lynx 重构 AI 开发安全壁垒
  • Petalinux的常用指令
  • Hexo - 免费搭建个人博客04 - 创建另一个私人仓库,对Hexo项目进行版本管理
  • RabbitMQ--消费端单线程与多线程
  • 电子电气架构 --- 汽车软件全生命周期
  • 小架构step系列23:加载自定义配置
  • Vue 浏览器本地存储
  • 05-ES6
  • Linux修炼:进程概念(上)
  • apache-doris安装兼datax-web配置
  • 【2025】使用vue构建一个漂亮的天气卡片
  • 加载用户设置时遇到错误找到一个带有无效“icon“的配置文件。将该配置文件默认为无图标。确保设置“icon“时,该值是图像的有效文件路径“
  • 基于php的校园招聘平台
  • 三步实现Android系统级集成:预装Google TTS + 默认引擎设置 + 语音包预缓存方案
  • ArcGIS Pro从0开始制作中国主图及黄土高原地势区域图
  • opencv学习(图像处理)
  • Linux dd命令 数据备份、转换与磁盘操作的终极工具
  • 剪枝和N皇后在后端项目中的应用
  • (进阶向)Python第十三期,opencv的图像预处理方法[1]
  • 抗辐照MCU芯片:卫星互联网光模块选型的关键考量
  • 【DataWhale】快乐学习大模型 | 202507,Task06笔记
  • OpenLayers 快速入门(二)Layer 对象
  • 身份证实名认证-身份证二要素核验接口-身份证有效性验证
  • 【通识】手机和芯片相关
  • PPO:强化学习中的近端策略优化——原理、演进与大规模应用实践
  • 一场跨越300公里的危险品运输手记
  • 平台端数据统计功能设计:用数据驱动运营决策
  • docker的镜像与推送