当我重命名一个符号时,我通常无法手动重命名我的代码中出现的所有事件。
当 GCC 报告有关此的错误时,它只会告诉“(每个未声明的符号只报告一次)”。
我希望它报告所有事件。可能吗?
最佳答案
我的第一个问题是:为什么?当我更改符号的名称时,我会这样做 使用全局搜索和替换:在我的编辑器 (vim) 中:
:argdo %s/\<oldname\>/newname/g
(这会将 oldname
的所有实例更改为 newname
,在所有文件中
编辑器参数列表,但前提是 oldname
是完整的
象征;即 someoldname
不会改变。)
如果名称是全局名称,那么我将从 shell 中执行相同的操作,使用
sed
:
for f in $(find root -name '*.hh' -o -name '*.cc')
do
sed 's/\<oldname\>/newname/g' $f > tmp && mv tmp $x
done
如果你在 Windows 下,我相信 VS 也有类似的可能性,有一个 全局搜索并替换解决方案中的所有源文件。
您不会通过编译来查找已知存在的错误;通常是 更容易先修复它们。
关于c++ - 如何让 GCC 报告每次出现未声明的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9126627/