【发布时间】:2013-04-08 10:53:28
【问题描述】:
我正在开发一个 Objective-C (iOS) 应用程序,它在应用程序的基于 C 的部分中使用非常大的数组(大小 > 10 000)。
在执行的那一刻,我做了一个小结构的 malloc,我有消息:
malloc: *** error for object 0x6505a4: incorrect checksum for freed object - object was probably modified after being freed
消息给出的地址已被我在此调用之前使用的数组占用:
write in address : 0x6505a0 - im_x[12] // im_x is my array
write in address : 0x6505a8 - im_x[13] // im_x is my array
为什么 iOS 会尝试分配已使用的内存?
欢迎任何帮助:)
谢谢!
【问题讨论】:
-
iOS 不会尝试分配使用中的内存。您的代码中将存在导致此错误的错误。您能否创建一个最小的测试用例并编辑您的问题以包含该代码?
-
如何创建阵列?
-
斯蒂芬说了什么;我敢打赌,你超出了数组的末尾。
标签: objective-c c memory allocation