Приложение C ++ подтекает, связываясь с другим - PullRequest
0 голосов
/ 02 декабря 2011

У меня есть библиотека А, разработанная на С ++ в Windows. Я сделал несколько проектов, которые используют эту библиотеку A, и Visual Studio ничего не говорит о утечках памяти.

У меня есть приложение, которое использует другие библиотеки B. Когда я смешиваю библиотеки (A и B), Visual Studio показывает мне утечки памяти. Я только установил в свойствах компоновщика .lib библиотек A, не создавая экземпляры какого-либо класса и не включая их, но Visual Studio все еще показывает мне утечку памяти?

В чем может быть причина, потому что библиотека, которая не была создана, может показывать утечки памяти, только связываясь с ней? Это возможно? Возможно, я совсем не понимаю. Что происходит при запуске приложения? Зарезервирована ли память для статических объектов?

привет

1 Ответ

1 голос
/ 02 декабря 2011

Я думаю, что вы частично отвечаете на свой вопрос последним предложением. Потому что библиотека может содержать глобальные переменные или статические переменные-члены включенных классов (которые будут распределены независимо от того, используете вы класс или нет), даже если вы не используете библиотеку, просто ссылки на нее могут иметь эффект. Кроме того, это будет зависеть от того, используете ли вы статические или динамические ссылки.

См. здесь для другого вопроса на ту же тему.

...