我有一个相当长的遗留代码函数。有没有办法检查它是否正在使用任何全局变量或禁用对任何全局变量的访问?
我会检查生成的对象文件中的数据符号: nm -po file.o | grep ' D '
编译器生成几个符号,您可能想要检查几个其他类型的符号,例如 B
和小写版本。
在 Linux 上,像往常一样编译可执行文件,然后运行:
nm your-program | egrep " (b|B) "
这将列出 BSS 中的符号。