Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
Утечки без явного создания хендла =О
Перевожу стандартное бж убожество в нормальный вид. Функция возвращает предмет, если он есть в инвентаре (что в бж делается через 3 функции).
» функция 1
С функцией всё в порядке - никаких хэндлов не создаётся, всё ок и утечек быть не может. Но при проверке выясняется, что при использовании такой функции всего 1 раз появляется аж 120 утечек =О. Преобразовал функцию с использованием локальной ссылки на итем:
» функция 2
И никаких утечек не было вообще. Других изменений в карте не было. Собственно вопрос: откуда берётся создание стольких лишних хэндлов в первой функции?
Для особенных умников: тесты на наличие утечек проводились по нескольку раз и наличие других источников утечек исключается.
» Кодэ для проверки утечек:
Скайнет добавил: единственное логическое объяснение, которое я вижу - если функция что-то возвращает, то без указания условной ссылки на ячейку памяти((локальная переменная), т.е. куда будет записываться результат деятельности функции), будет выбираться рандомная, которую потом никак не удалить. |
05.01.2011, 02:07 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Master_chan
Полуночный командир
offline
Опыт:
15,660Активность: |
UnitItemInSlot возвращает предмет предмет == виджет а ты говоришь хендла у тебя нет... во второй функции они пишутся в локалку ITM тоесть перезаписываются в 1 ячейку тащемта мысль верная |
05.01.2011, 02:34 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
спасибо, о повелител |
05.01.2011, 02:53 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
ваш метод тестирования на утечки фуфло, вы ничего не понимаете в утечках.
if UnitItemInSlot(u, i) == UnitItemInSlot(u, i) then нету блеять утечек, статическая ссылка else есть блеять утечки endif [+] 1 пункт от ScorpioT1000: 1.1 (ненормативная лексика)
|
05.01.2011, 03:09 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|