Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
--library=qt), ошибок нет (разве что забыл инициализировать одну переменную). Так как проект относительно немаленький, а опыта у меня нет практически — то вряд ли такое возможно :) int *error = new int; — находит, но тут и ежу понятно. Но MyObject *obj = new MyObject() уже не видит. Запускаю с опцией --check-config — точно, не видит библиотек. // don't check classes..
if (alloc == CheckMemoryLeak::New) {
if (Token::Match(tok->tokAt(2), "new struct| %type% [(;]")) {
...
Если уж valgrind ничего не нашёл — возможно в коде действительно нет утечек:)На самом деле, можно расчитывать только на то, что утечек не было при этом конкретном запуске. Запросто могут быть варианты выполнения программы, которые в этом запуске не были пройдены, но которые привели бы к утечке. В этом существенная разница между программами вроде valgring и статическими анализаторами. Статический анализатор может просто посмотреть на код и увидеть в нем ошибку даже если этот код никогда не вызывается.
bool ProjectPanel::openWorkSpace(const TCHAR *projectFileName)
{
TiXmlDocument *pXmlDocProject = new TiXmlDocument(projectFileName);
bool loadOkay = pXmlDocProject->LoadFile();
if (!loadOkay)
return false;
...
delete pXmlDocProject;
return loadOkay;
}
Господа, существует ли утилита для проверки в коде C того, что порядок объявления функций соответствует порядку определения функций?
Тонкости анализа исходного кода C/C++ с помощью cppcheck