0

この投稿で見つけたコードから iPhone ゲームに OpenAL を統合していますが、コンパイラは次のコード行でエラーを出しました:
unsigned char *outData = malloc(fileSize);

だから私はこれに変更しました:
unsigned char *outData = (unsigned char*) malloc(fileSize);.

これによりコンパイラ エラーは解消されましたが、2 つのリークが発生したようです。
Malloc 32 Bytes 0x505cb40 AudioToolbox SimAggregateDevice::CreateAggregateDevice(__CFString const*, __CFString const*, unsigned long&)


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

これは unsigned char 行を変更したためですか? 誰かがこれらのリークを取り除くのを手伝ってくれたら、とても感謝しています。

4

1 に答える 1

0

.m の代わりに .mm ファイルを使用していると仮定しています (コンパイラがキャストなしでエラーを生成すると考えることができる唯一の理由です)。行った変更はメモリ管理に影響を与えず、確実にリークを引き起こしません。使用後にこのデータを解放していますか?

于 2010-03-27T10:22:07.500 に答える