求助:如何快速判断给定代码中是否定义了全局变量?

fengbingchun
博客专家认证
2013-10-25 11:25:54
给一个可以编译运行的源代码程序,此代码量很大,而且文件数也很多,如何才能快速判断这些文件中是否定义了全局变量,除了逐个文件查看外,有什么快速的方法吗?
望高手指点,谢谢!
...全文
287 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_min_ 2013-10-25
  • 打赏
  • 举报
回复
配置下vim 下ctags 这些插件 然后在命令模式下输入 :cs f e xxx(你要搜索的关键字)
mujiok2003 2013-10-25
  • 打赏
  • 举报
回复
我估计使用VA/vim插件比较靠谱。 分析编译结果的方法看起来不错,但是是不可靠。
  • 打赏
  • 举报
回复
引用 9 楼 fengbingchun 的回复:
[quote=引用 5 楼 wangdahu888 的回复:] 我有一个设想,就是把这个项目编译成静态库lib文件,然后使用dumpin,查看一下该文件是否有.data段和.bss段,如果没有话,就没有全局变量。
谢谢,可否说的详细些。[/quote] 突然想起,这个方法也不准备,因为静态变量也是放在.data或.bss段
Oo纳兰筱DoO 2013-10-25
  • 打赏
  • 举报
回复
可以使用插件么,PE文件的全局变量多在.data数据段中出现
fengbingchun 2013-10-25
  • 打赏
  • 举报
回复
引用 5 楼 wangdahu888 的回复:
我有一个设想,就是把这个项目编译成静态库lib文件,然后使用dumpin,查看一下该文件是否有.data段和.bss段,如果没有话,就没有全局变量。
谢谢,可否说的详细些。
fengbingchun 2013-10-25
  • 打赏
  • 举报
回复
引用 2 楼 ak47_wz 的回复:
VIM下的插件,ctags+taglist,命令行模式输入:Tlist。可以看到全局变量和宏定义,函数之类的东西。
谢谢!
taodm 2013-10-25
  • 打赏
  • 举报
回复
除非使用5楼的类似方法。没有100%可靠的纯代码分析方法的。
fengbingchun 2013-10-25
  • 打赏
  • 举报
回复
引用 1 楼 turingo 的回复:
用各种IDE以及ctags和SourceInsight都可以很方便的查看。 [quote=引用 楼主 fengbingchun 的回复:] 给一个可以编译运行的源代码程序,此代码量很大,而且文件数也很多,如何才能快速判断这些文件中是否定义了全局变量,除了逐个文件查看外,有什么快速的方法吗? 望高手指点,谢谢!
[/quote] 谢谢!
  • 打赏
  • 举报
回复
我有一个设想,就是把这个项目编译成静态库lib文件,然后使用dumpin,查看一下该文件是否有.data段和.bss段,如果没有话,就没有全局变量。
xiaohuh421 2013-10-25
  • 打赏
  • 举报
回复
VS中, 类视图中有 全局函数和变量
ztenv 版主 2013-10-25
  • 打赏
  • 举报
回复
引用 1 楼 turingo 的回复:
用各种IDE以及ctags和SourceInsight都可以很方便的查看。 [quote=引用 楼主 fengbingchun 的回复:] 给一个可以编译运行的源代码程序,此代码量很大,而且文件数也很多,如何才能快速判断这些文件中是否定义了全局变量,除了逐个文件查看外,有什么快速的方法吗? 望高手指点,谢谢!
[/quote] ++ 如果你熟悉,通过反汇编debug版本的库也可能看到
水平不流 2013-10-25
  • 打赏
  • 举报
回复
VIM下的插件,ctags+taglist,命令行模式输入:Tlist。可以看到全局变量和宏定义,函数之类的东西。
图灵狗 2013-10-25
  • 打赏
  • 举报
回复
用各种IDE以及ctags和SourceInsight都可以很方便的查看。
引用 楼主 fengbingchun 的回复:
给一个可以编译运行的源代码程序,此代码量很大,而且文件数也很多,如何才能快速判断这些文件中是否定义了全局变量,除了逐个文件查看外,有什么快速的方法吗? 望高手指点,谢谢!

64,677

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧