openmp指针问题

时间:2011-04-07 13:21:13

标签: c pointers openmp

我在C中编写了一个程序,需要使用openmp进行并行化。 我已经声明了私有和共享变量,但在代码的开头我调用了一些程序来释放我得到的列表

error for object 0x1000c1e20: pointer being freed was not allocated

      destroy_t_value(head_t1_values);
      t_value_delete(&head_t1_values, 0);
      destroy_chi_value(head_chi1_values);
      chi_value_delete(&head_chi1_values, 0);

这些变量是私有的 代码工作正常,没有openmp

1 个答案:

答案 0 :(得分:2)

问题是:“在进入并行部分之前,它们被分配并设置为NULL”

你不能分配指针,然后将其设置为NULL然后释放它,因为现在你释放一个指向任何东西的指针。

你需要分配,然后使用它们,然后解除分配(即删除),然后设置为NULL。