相关疑难解决方法(0)

除非我在其中放入printf语句,否则代码会崩溃

这是我正在使用的数组库中的代码片段。这在Windows上运行良好,但是如果我在Linux上使用gcc进行编译(如果该函数崩溃),则可以正常运行。当试图缩小问题范围时,我向其添加了一条printf语句,并且代码停止崩溃。

void _arrayCreateSize( void ***array, int capacity )
{
    (*array) = malloc( (capacity * sizeof(int)) + sizeof(ArrayHeader) );
    ((ArrayHeader*)(*array))->size = 0;
    ((ArrayHeader*)(*array))->capacity = capacity;
    // printf("Test!\n");
    *(char**)array += sizeof(ArrayHeader);
}
Run Code Online (Sandbox Code Playgroud)

取出printf后,它再次开始崩溃。我完全不知道为什么会这样。

c debugging

2
推荐指数
1
解决办法
3809
查看次数

标签 统计

c ×1

debugging ×1