MFC的CString 的效率

    技术2022-05-11  79

    项目中要写一个DLL, 需要处理XML 文档,有大量的字符串操作  刚开始用CString处理, 发现速度比较慢, 后来就改用标准库里的API, 不过代码量太大了,  全部更改下来不比较麻烦,  就对这些API函数进行封装重新写了一CExString类 和CString的功能和接口完全一样, 再利用一个宏替换, #define CExString  CString.   最后发现 速度提高了3倍。      跟踪MFC的代码发现CString::Format的效率很低,逐个字符进行匹配, 但好处是字符串的大小没有限制。 而sprintf()维护的缓存仅是1024byte.  这一点要注意。

    最新回复(0)