C++小知识:用合适的工具来分析你的代码
于是他们每天分享一个错误案例,并给出相应建议。今天的案例来自 LibreOffice 项目。其实就是在 DllMain 方法中,当某些条件触发时,用 Windows API 函数实现一些功能。更糟糕的是,如果我创建一个标准的新应用,这段代码就没问题,一旦我把代码放到 DllMain 里去运行就不行。我们现在有了诊断工具,可以提醒程序员在 DllMain 里直接用哪些操作是危险的。关于不能在 DllMain 里执行哪些操作的更多细节,可以查看关于 V718 诊断信息的描述。你需要重构整个代码逻辑,让 DllMain 函数里的操作越简洁越好。如果当年我有了这些工具,那我就绝对不会在 DllMain 里去调用我写的那些代码,那么我很可能就能节省大量时间,少死好多脑细胞。这个错误由 PVS-Studio 静态分析工具捕获。错误文本:V718:“CreateThread”方法不应该在“DllMain”方法中调用。
用户评论