Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 查找在其中声明全局变量的文件_C++_Global Variables - Fatal编程技术网

C++ 查找在其中声明全局变量的文件

C++ 查找在其中声明全局变量的文件,c++,global-variables,C++,Global Variables,我正在尝试学习一个相当大的开源代码库。在这个文件中,一个变量m被多次引用而从未声明过(参见第819行)。所以我认为它必须是一个全局变量 但是,该文件包含大约24个.h文件。据我所知,m可以在这些文件中声明。有没有办法确定哪个文件声明了它,或者我需要搜索每个.h文件 这就是你需要工具来做的事情吗?Eclipse有这样的功能吗?如果您在本地下载了代码库,您可以使用grep: 请注意,grep是一个基于Unix的命令,因此根据您的shell,它可能不可用。如果您使用的是Windows,FINDSTR(

我正在尝试学习一个相当大的开源代码库。在这个文件中,一个变量m被多次引用而从未声明过(参见第819行)。所以我认为它必须是一个全局变量

但是,该文件包含大约24个.h文件。据我所知,m可以在这些文件中声明。有没有办法确定哪个文件声明了它,或者我需要搜索每个.h文件


这就是你需要工具来做的事情吗?Eclipse有这样的功能吗?

如果您在本地下载了代码库,您可以使用grep:

请注意,grep是一个基于Unix的命令,因此根据您的shell,它可能不可用。如果您使用的是Windows,FINDSTR()也会做类似的事情,但没有那么灵活

使用grep的一个简单示例如下:

grep -l -R "some_string" /usr/local/SomeDirectory

如果您在本地下载了代码库,则可以使用grep:

请注意,grep是一个基于Unix的命令,因此根据您的shell,它可能不可用。如果您使用的是Windows,FINDSTR()也会做类似的事情,但没有那么灵活

使用grep的一个简单示例如下:

grep -l -R "some_string" /usr/local/SomeDirectory

我会下载源代码并在IDE中从中创建一个项目。然后我可以通过上下文菜单找到声明


如果有更优雅的方式,我想听

我会下载源代码并在IDE中从中创建一个项目。然后我可以通过上下文菜单找到声明


如果有更优雅的方式,我想听

在这个文件中,看起来“m”是由“g”表示的类的成员。如果不进一步挖掘,很难说出“g”是什么。我猜这是“game”类的一个实例,因为“game.h”包含一个变量“m”,它是一个映射!如果
m
确实是全局变量,那么您可以通过grepping
nm*.o
并使用模式“bm$”来搜索已编译的对象文件。h定义了
游戏的一个全局实例,名为
g
,其中包含一个名为
m
地图,我向您展示了一个在命名变量时不应该做什么的案例。在这个文件中,看起来“m”是由“g”表示的类的一个成员。如果不进一步挖掘,很难说出“g”是什么。我猜这是“game”类的一个实例,因为“game.h”包含一个变量“m”,它是一个映射!如果
m
确实是全局变量,那么您可以通过grepping
nm*.o
并使用模式“bm$”来搜索已编译的对象文件。h
定义了
游戏的一个全局实例,名为
g
,其中包含一个名为
m
地图,我给大家介绍了一个例子,说明在命名变量时不应该做什么。在这个家伙的程序中,“m”这个短语出现了数千次。我注意到了这一点。这使得它变得特别困难,因此他要么必须手动搜索原始定义,要么找出某种能与grep很好地协同工作的正则表达式。老实说,咬紧牙关搜索这24个头文件可能会更容易。在这个家伙的程序中,“m”这个短语出现了数千次。我注意到了。这使得它变得特别困难,因此他要么必须手动搜索原始定义,要么找出某种能与grep很好地协同工作的正则表达式。老实说,咬紧牙关搜索这24个头文件可能会更容易。