重命名符号时,通常无法手动重命名代码中的所有事件。

当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具有类似的可能性,
全局搜索并替换解决方案中的所有源文件。

您不会编译找到您知道的错误;通常是
首先更容易修复它们。

08-16 20:58