gpt4 book ai didi

c - 带有 icd 指针的 C 代码中的 Valgrind 错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:52 24 4
gpt4 key购买 nike

我继承了一个 C 代码.. 其中一行如下。这里的icd是什么意思。它是关键字还是只是一个名称。我在任何地方都无法在谷歌上找到它。

icd **d1cols = (icd**)malloc(measquant*sizeof(icd *));

之后我有:

for(i=0; i<measquant; i++){
*(d1cols + i) = getwtOnAFileColReturnDouble1(fp1, fp2, xx, yy);
}

如果我打印以下行

printf("Test 0,0 weight=%.3le\n",*((*(d1cols + 0 ))->wt+0));

除其他错误外,我在 valgrind 中遇到以下错误:

Invalid read of size 8

==45918== at 0x401945: main (getwtmeasAll_1_main.c:143)
==45918== Address 0x7e83850 is 0 bytes inside a block of size 896 free'd

==45918== at 0x4C27430: free (vg_replace_malloc.c:446)

这里有什么问题。

最佳答案

看起来代码正在尝试读取已经释放(释放)的内存部分。

icd 是由您的代码使用的库定义的数据结构。没有额外的细节,就没有太多要说的了。

关于c - 带有 icd 指针的 C 代码中的 Valgrind 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48827569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com