我有一個關於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