Dear All,
现在有一个完整的,可以正常编译/运行的Visual C++6.0工程[MFC/SDI].想对源码进行如下改动:
(1)修改工程名字,即A.dsw/A.dsp==>B.dsw/B.dsp;
(2)修改类名,将其中的大部分类名改换成需要的名字,即:ClassA==>ClassB;
(3)修改部分函数的名字;
总的要求只是改名字而已,功能保留.亦即:所有的工程名字,类名以及函数名字改变后,还需要跟以前一样可以正常编译,完成相同的功能.
请问:比较快捷的,具体的实施步骤应该是什么?
非常感谢您的热情回复与指点迷津!

解决方案 »

  1.   

    用EditPlus或者其他文本编辑器打开工程包含的所有文件
    (注意,所有文件,包括.rc等资源文件)然后用“替换”功能(Ctrl+R || Ctrl+H)
    替换所有想要修改的工程名称
    (注意,一定选上“全字匹配”,否则替换的可能就不止是工程名称了)然后编译运行吧,就是你想要的新的工程了:P
      

  2.   

    用 Search and Replace 这个软件,极好用!速度极快!一次性即可替换整个目录下所有文件(或者指定的一批文件)中的某个字符串,支持正则表达式。
      

  3.   

    哦,忘了说了,同意二楼的方法,只需将诸如dsw、dsp等文件中的相应工程名字符串替换了即可将工程“改头换面”。当然,你也许要将所涉及的文件名称也给改掉,如果涉及文件多的话,这项工作最好用工具来做,例如TotalCommander可以做批量文件改名。
      

  4.   

    非常感谢两位仁兄的回复.
    请问:类名和函数名字也可以这样修改吗?
    //会不会变乱,有一大堆错误出现呢?
    我的步骤应该是:(1)修改工程名==>(2)修改类名==>(3)修改函数名,是这样的吗?
    Thanks in advance.
      

  5.   

    有一个方便的方法,你新建一个sdk的工程,然后引入所有的类,然后在每个文件的前面都会有#include "就工程的app类。h",把引号中的替换掉。2。修改类名:在工程中生成一个相同的类,在把文件拷贝过去。3。函数直接在。h和。cpp中修改就可以了。但你要注意。修改名字简单,修改调用这些名字的地方就不简单了。我曾经尝试修改过,用了3天时间才调试通过,好麻烦的。
      

  6.   

    非常感谢各位的热情回复.
    对于4inSky(黑棋子)兄的方法,还有疑问:
    (1)新建的SDI单文档MFC工程,名字是新的了,我只能引入部分的类,而且要记住在什么位置有相关信息?
    (2)"修改类名:在工程中生成一个相同的类,在把文件拷贝过去",这一步没有明白,请解释一下好吗?
    感觉这是一个工作量很大的问题,可否有一个比较合理的更改步骤?以少走弯路?减少调试错误?
    期待中...
      

  7.   

    用Source Insight等工具打开,然后查找,全部替换
      

  8.   

    非常感谢oyljerry兄的热情回复!
    您说的用这类编辑工具是打开*.dsw/*.dsp,还是分别打开*.cpp/*.h文件呢?
    我现在是要修改所有的东西,不仅仅是工程名,还有类名,函数名,请问各位:同时修改这么多东西,如何统筹规划一下比较科学?
    需要同时修改的东西:
    (1)工程名
    (2)类名
    (3)函数名
    Thanks a million.