2010-03-27 2 views
0

J'intégrais OpenAL dans mon jeu iPhone à partir du code que j'ai trouvé dans this post, mais le compilateur m'a donné une erreur sur cette ligne de code:
unsigned char *outData = malloc(fileSize);OpenAL provoquant des fuites dans mon jeu iPhone

donc je l'ai changé ceci:
unsigned char *outData = (unsigned char*) malloc(fileSize);.

C'est débarrassé des erreurs du compilateur, mais semble avoir jeté des deux fuites:
Malloc 32 Bytes 0x505cb40 AudioToolbox SimAggregateDevice::CreateAggregateDevice(__CFString const*, __CFString const*, unsigned long&)

et
NSCFDictionary 0x505be30 64 AudioToolbox SimAggregateDevice::CreateAggregateDevice(__CFString const*, __CFString const*, unsigned long&)

Est-ce en raison de me changer la ligne unsigned char? Je serais très reconnaissant si quelqu'un pouvait m'aider à éliminer ces fuites.

Répondre

0

Je suppose que vous utilisez un fichier .mm au lieu d'un .m (C'est la seule raison pour laquelle je peux penser que le compilateur donnera une erreur sans la distribution). Le changement que vous avez fait n'aura aucun effet sur la gestion de la mémoire, et ne causera certainement pas la fuite. Libérez-vous ces données après l'avoir utilisé?

+0

Oui, plus tard j'appelle 'if (outData) { free (outData); outData = NULL; } ' Après avoir fait une autre course avec des instruments, il me donne maintenant 10 fuites !! 5 sont les mêmes que ci-dessus, et les 5 autres sont: 'Malloc 32 octets 0x531b5d0 AudioToolbox \t CreateDictionaryForDevice (unsigned long)' – AptoTech

+0

Désolé, je suis perplexe. Je ne peux que supposer que certaines ressources OpenAL ne sont pas publiées ou fermées ou quoi que ce soit. Je ne connais pas suffisamment OpenAL pour suggérer quelque chose de plus. –

+0

Merci de toute façon aide :), je suppose qu'il faut y travailler un peu plus. Si quelqu'un qui a une expérience OpenAL pourrait m'aider, je l'apprécierais vraiment. – AptoTech

Questions connexes