gpt4 book ai didi

c++ - 任何可以处理这种情况的优秀 C++ 重构工具

转载 作者:行者123 更新时间:2023-11-28 08:24:01 25 4
gpt4 key购买 nike

我有一个大型 C++ 代码库,其中包含一些我打算重写的用于错误记录的函数,定义如下;

void LogError(ErrorLevel elvl,LPCTSTR Format,...);  // Literal version
void LogError(ErrorLevel elvl,UINT ResourceID,...); // Resource version

我打算将它们重写为一个函数

void LogError(ErrNo No,...);

在这种情况下,ErrNo 将是一个枚举,用于从外部文件中查找其余的错误详细信息。当我使用并喜欢 Visual Assist 时,它似乎不适合这种事情。我认为执行此重构的最简单方法是编写一个小程序,该程序使用搜索输出的结果来查找此函数的所有出现,例如

    c:\cpp\common\Atlas\Comps\LSADJUST.cpp
LSAFormNormalEquations (174): LogError(elvl_Error,IDS_WINWRN0058,i+1,TravObs.setup_no,TravObs.round_no
LSAFormNormalEquations (180): LogError(elvl_Error,IDS_WINWRN0059,i+1,TravObs.setup_no,TravObs.round_no
LSAFormNormalEquations (186): LogError(elvl_Error,IDS_WINWRN0060,i+1,TravObs.setup_no,TravObs.round_no
c:\cpp\common\Atlas\Comps\LSADJUSTZ.CPP
LSAFormNormalEquationsZ (45): LogError(elvl_Note,_T("Adjusting heights by least squares"));
c:\cpp\Win32\Atlas\Section\OptmizeSectionVolumes.cpp
OnSectionOptimizeVolumes (239): LogError(elvl_Note,"Shifted section at chainage %0.1lf by %0.3lf",Graph.c1,Offset);

然后解析修改源码。有没有其他工具可以为我简化这项任务?如果查看 related question这表明那里没有太多东西。我不介意花少量钱购买一个相当易于使用的工具,但我没有时间或预算购买除此之外的任何东西。

最佳答案

如果您使用的是 Unix,使用 sed 编辑所有源代码可能会处理大部分更改。您将不得不手动完成一些更改。我过去使用过这种技术。

关于c++ - 任何可以处理这种情况的优秀 C++ 重构工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4713697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com