класс NSCFNumber автоматически выпущен без пула на месте - просто утечка - PullRequest
0 голосов
/ 21 декабря 2009

Я новичок в C ++ и только начал работать над проектом с использованием многопоточности.

В настоящее время мой проект включает библиотеки OpenGL и OpenCV, и в процессе кодирования я обнаружил следующую ошибку:


Текущий язык: авто; в настоящее время с ++ 2009-12-21 14: 54: 49.438 3DTestApp [3210: 7803] *** _NSAutoreleaseNoPool (): объект 0x10ebe0 класса NSCFNumber автоматически освобожден без пула на месте - только утечка Стек: (0x91edff4f 0x91dec432 0x941ad394 0x94282218 0x94528023 0x94281b32 0x942813ef 0x94280dc6 0x94489ef4 0x944882ab 0x9350e13d 0x9350d57b 0x9350d3e0 0x93529e29 0x93529bce 0x935292a8 0x935290e4 0x5743e2) убийство бросить курить


Я установил точки останова и понял, что ошибка произошла только после выполнения следующей строки:

cvShowImage («Motion Tracker», обнаружениеMotionScreen); (этот код был в потоке с бесконечным циклом)

Я погуглил и понял, что эта ошибка произошла только в Цели C, и я не нашел результатов, связанных с C ++.

Как таковой, я хотел бы спросить, есть ли у кого-нибудь идея, почему это произошло, и есть ли способ это исправить?

edit: я пытался добавить Framework Foundation для использования NSAutoreleasePool, однако после компиляции он генерирует много ошибок в моих кодах относительно синтаксиса, хотя на самом деле их не было.

1 Ответ

0 голосов
/ 21 декабря 2009

У Apple нет общедоступных интерфейсов, написанных на C ++, кроме IOKit, поэтому вы не найдете их. Процедурная документация C по управлению памятью CoreFoundation: здесь .

Если вам нужна более конкретная помощь, вам нужно будет более подробно описать, чем вы занимаетесь.

...