утечка памяти cys win32 SysLink - PullRequest
       0

утечка памяти cys win32 SysLink

0 голосов
/ 18 ноября 2011

Я получаю необычную утечку памяти в родном приложении на C ++ win32. В нем есть диалоговое окно с текстом и ссылками на URL, которые создаются с помощью элемента управления SysLink. Проблема в том, что когда я нажимаю на системную ссылку (только в первый раз и не важно, какая ссылка), я получаю увеличение использования памяти примерно на 400-500 КБ (все приложение использует 1,5 МБ). Код, который открывает URL:

  ShellExecute(NULL, L"open", item.szUrl, NULL, NULL, SW_SHOW); 

Может кто-нибудь объяснить, почему ShellExecute выделяет столько памяти и как я могу освободить ее после вызова.

1 Ответ

2 голосов
/ 18 ноября 2011

Я не знаком с библиотеками, которые вы используете, но если это происходит только один раз и только для первого вызова, то вполне вероятно, что библиотека загружает некоторые необходимые ей ресурсы.

Обычно эта память не освобождается до конца процесса. Но вы можете загрузить библиотеку самостоятельно, а затем выгрузить ее, если вас беспокоит использование памяти ... опять же, вы не знакомы с вашими библиотеками, но может также быть предусмотрена функция очистки для минимизации использования памяти.

...