我有一个关于malloc行为的问题。 有2 C文件如果我们不能释放它,malloc的行为是什么
myTools.c和mainFile.c
mainFile.c是=>
int main(){
int i=1;
char *request="blablabla"//vary in situation.Not static
while(i==1)//forever Loop
{
...
strcpy(response,getFile(request));
...
}
}
myTools.c是==>
.
.//something else
.
char *getFile(char *request)
{
char *retVal;
...//some tcp request
retVal=malloc(strlen(buffer));
strcpy(retVal,buffer);
..//some char array operations
return retVal;
}
.
.//something else
.
我不能找到了一种方法来释放retVal,或者我想知道我需要释放retVal?
它适用于m68k嵌入式平台上的uClinux,因此内存有限。
它可能会导致任何内存问题或任何内存不足?
或者影响程序的运行时行为?
响应得到它的内存? – 2011-02-15 13:31:29
我们不知道 - 没有提供那部分源代码。我认为它被照顾到别的地方。 – Nick 2011-02-15 13:34:08
但是,如果响应已经指向有效的内存,它应该只是传递给getFile()并且什么都不应该mableced – 2011-02-15 13:37:03