Keil如何查看函数或变量调用---非Ctrl F

今天公司新人问我,Keil这个编译器怎么查看一个函数都在哪里被调用?我脱口而出 辣鸡软件只能用Ctrl F慢慢找。。要么你就先用SourceInsight编辑代码,改好了再去编译吧。

好好的编译器怎么会没有这个最基本的功能呀??
想着这个问题,于是就有了今天的意外之喜~

操作方法如下:
在View中调出SourceBrowser这个窗口,将需要查找定义及调用位置的 函数、变量、宏等复制到Symbol处,回车 你就可以看到Definitions&References了,双击可以跳转到对应的代码位置。这个窗口里面还有Filter滤波器和一些条件勾选,大家自行尝试吧。
在这里插入图片描述
是不是看上去好像也没比Ctrl F方便多少?
上图左下角是我查找的结果,其实也很方便了呢,但是仔细一看就会发现 查找给出了32个结果,而Browser中显示真正被调用的地方只有十几处。很明显,Ctrl F是文本查找,结果中包含注释以及没有参与编译的部分,比如下面这一处调用就是调试代码:

在这里插入图片描述

用惯了SourceInsight的话还是会觉得Keil不太方便,但是有时候进行Debug的过程中再反复切换SourceInsight也很麻烦。还是有点作用吧。
好了,记录一下,希望对大家有也点帮助。

Keil uVision5,全局变量可以在main.c文件直接进行调用。你只需要在main.c文件声明全局变量,然后即可在其他函数使用该变量。 以下是一个示例: ```c // main.c #include <stdio.h> // 声明全局变量 int globalVariable = 10; // 主函数 int main(void) { // 在主函数使用全局变量 printf("Global variable value: %d\n", globalVariable); // 调用其他函数 otherFunction(); return 0; } // 其他函数 void otherFunction() { // 在其他函数使用全局变量 printf("Global variable value from other function: %d\n", globalVariable); } ``` 在上述示例,我们在main.c文件声明了一个名为`globalVariable`的全局变量,并在主函数和`otherFunction`函数分别使用了该全局变量。你可以根据需要在其他函数调用全局变量,只要确保在调用之前已经声明了该全局变量即可。 请注意,如果你需要在其他文件调用main.c的全局变量,你需要在其他文件使用`extern`关键字来声明该全局变量。例如,在另一个名为`otherFile.c`的文件调用main.c的全局变量,可以使用以下代码: ```c // otherFile.c extern int globalVariable; void someFunction() { // 在该函数使用main.c的全局变量 printf("Global variable value from other file: %d\n", globalVariable); } ``` 通过在`otherFile.c`文件使用`extern int globalVariable;`声明全局变量,就可以在`someFunction`函数调用main.c的全局变量了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值