我正在使用 Xcode 用 C 语言编写代码。我收到奇怪的错误。
如果 for 循环的范围(height2, width2
)在 500,600 左右,代码工作正常。但是,如果我更改的范围超过 800,则会出现以下错误。
"Thread 1: EXE_BAD_ACCESS(CODE - 2, address = 07x33434...)"
for (int i = 0 ; i <height2 ; i++)
{
for (int j = 0 ; j< width2 ; j++)
{
float height_Frac_Idx = i*scale_h;
float width_Frac_Idx = j*scale_w;
int height_idx, width_idx;
height_idx = (int) height_Frac_Idx;
width_idx = (int) width_Frac_Idx;
float del_h = height_Frac_Idx - height_idx;
float del_w = width_Frac_Idx - width_idx;
img_op[i][j] = (img_IP[height_idx][width_idx])*(1 - del_h)*(1-del_w) + (img_IP[height_idx+1][width_idx])*(del_h)*(1-del_w) + (img_IP[height_idx][width_idx+1])*(1 - del_h)*(del_w) + (img_IP[height_idx+1][width_idx+1])*(del_h)*(del_w);
}
}
最佳答案
"Thread 1: EXE_BAD_ACCESS(CODE - 2, address = 07x33434...)"
当您在代码中访问未分配的或更多已分配的内存时,会出现此错误。
查看您的代码和解释,我可以猜测您可能在 img_op[][] 或 img_IP[][]
数组的情况下访问更多内存。
也可以尝试启用 NSZombies 非常容易启用:
在 XCode 的“可执行文件”中双击您的可执行文件
打开“参数”选项卡
- 在“要在环境中设置的变量”(这是列表中的 底部,小心你编辑的是哪一个)点击“+”按钮,然后 变量名称输入“NSZombieEnabled”,值“YES”
关于ios - 线程 1 : EXC_BAD_ACCESS in Xcode with C code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33852333/