你好,我是 帕特·布伦纳 是VisualC++图书馆团队的开发人员。 在这个 我想和大家分享一下我们在ATL和MFC for Visual Studio 2013中所做的更改。
我们所做的主要更改之一是完全消除ATL DLL。 所有ATL代码现在都是静态的,无论是在头文件中还是在ATL静态库中。 我们还大大减少了ATL静态库中的代码量,因此不再有多个用于调试/发布模式或Unicode/ANSI字符集的静态库。 只有一个ATL静态库是所有配置所共有的。
ATL的变化还包括取消ATL/MFC跟踪工具和简化跟踪机制。 跟踪宏现在基本上可以归结为OutputDebugString,并且没有跟踪级别的外部控制器(就像提供的跟踪工具一样)-跟踪级别是在应用程序本身中设置的。 这确实会导致ATL::CTraceCategory类的某些用法发生源代码中断的更改,迁移到VisualStudio2013时需要更改源代码。
我们在MFC中所做的主要更改是不支持MBCS(请参阅中的更多信息) 这篇单独的博文 ).
此外,我们在MFC中修复了大约105个bug,在ATL中修复了大约60个bug。 大约四分之一的bug(在两个库中)是由客户报告的。
虽然我无法提供我们内部错误数据库中错误的完整列表,但以下是客户通过我们的Connect站点报告的错误列表,这些错误已在ATL和MFC for Visual Studio 2013 RTM中修复。单击任何连接错误编号以查看有关该错误的更多信息。 请注意,这些bug中的大多数在预览版中也已修复。
连接# |
错误标题 |
atlbase.h禁用不再存在的C4217警告 |
|
AtlSafeRealloc()中无用的代码行 |
|
AtlSafeRealloc()不一致地处理失败,这导致 内存泄漏 |
|
CAtlServiceModuleT::LogEventEx()包含无用的检查 |
|
CAtlExeModuleT::StartMonitor()中的可疑错误处理代码 |
|
CComApartment::repartment()泄漏边缘大小写上的对象 |
|
ATL::CComSafeArray::运算符[]歧义 |
|
消费oledb宏上错误/缺少sal注释 |
|
改变ATL OLE DB CCommand::Execute方法的方式 行为 |
|
基于ATL库的Windows应用商店应用的认证失败 |
|
卸载VS2012 Update 2并修复VS会导致ATL 文件丢失。 |
|
ATL CRBMap::查找代码分析标记问题 |
|
VC++11回归:错误C2338:使用v110工具集的dbu命令 |
|
Visual Studio 2012 RC生成的静态MFC可执行文件 巨大的 |
|
MFC使用LoadLibraryEx加载DLL,其标志仅在上受支持 窗口8 |
|
CMFCRibbonBar::AddToTabs从 mu arButtons数组 |
|
OnInitDialog中的EndDialog重新打开对话框 |
|
实现动态生成静态链接的编译错误 MFC项目 |
|
CMFCTabCtrl错误 |
|
MFC编辑浏览框不显示浏览按钮。 |
|
在OnInitDialog()中调用EndDialog()会导致对话框 显示两次。 |
|
Visual Studio 11 Beta–在XP service pack 3中运行.exe的错误 |
|
Visual C++ 2012库中检测到的错误 |
|
LocalFree在CDatabase中调用了两次(MFC 11) |
|
MFC OLE服务器似乎不支持新样式的MFC 工具栏 |
|
在包含afxwin.h后尝试使用DrawStatusText 导致链接错误 |
|
CRecordset::GetFieldValue(短nIndex, CDBVariant和varValue) |
|
x64 MFC宏错误–在u WM u POWERBROADCAST()上/ CWnd::OnPowerBroadcast |
|
CHttpFile::QueryInfo()返回“损坏的”cstring 长度无效。 |
|
缺少MFC函数 |
|
如果禁用滚动,则CWnd::GetScrollLimit返回1 |
|
CMFCPopupMenu在子菜单静止时单击外部时崩溃 打开 |
|
CMFCShellTreeCtrl无法正确处理某些UNC路径名 |
|
MFC–CMFCTabCtrl–当样式为styleu 3Du VS2005和 SetActiveTabBoldFont()已设置 |
|
发布版本中afxwin.h中的未配对pragma警告push/pop |
|
MFC:CMFCToolBarMenuButton::CompareWith中的硬类型转换错误 |
|
HttpFile::QueryInfo()上的HTTP查询标志请求标头 错误地断言 |
|
CMFCShellListCtrl::OnContextMenu“Delete”上下文菜单处理程序 不起作用 |
我希望你觉得这些信息有用。 如果您有任何问题,请告诉我们。
Pat Brenner,VisualC++开发团队