列出C程序中的全局变量

是否有一个工具可以列出C程序中的所有全局变量? 更具体地说,是否有一个简单的命令行工具可以执行此操作,即不是重量级的IDE,CASE,图形工具包系统等,但只是可以像foo *.c一样运行的东西?

如果您碰巧在大多数unix上编译文件,那么您只有列出所有链接器符号的nm 。 这些符号分为不同的组(取决于位平台),因此您应该很容易找出变量。

尝试ctags 。 或者,gcc with -aux-info 。 还有gccxml和libclang,但这两个并不是很简单。

 ctags -R -x --sort=yes --c-kinds=v --file-scope=no file "c:\my sources" > c:\ctagop.txt