【发布时间】:2016-01-30 13:53:18
【问题描述】:
我可以在嵌入式 C 中使用函数 malloc 和 delete 吗?例如,我有一个函数,使用函数 malloc 在结构上创建指针。这个函数在 ram 中返回地址,我可以使用它。从我的分配内存的函数退出后,此指针将被删除或为此保留此内存,而不是函数删除终止?
Typedef struct {
Char varA;
Char varB
} myStruct ;
Void myfunc ( void)
{
myStruct * ptrStruct = ( myStruct *) malloc ( sizeof (myStruct)) ;
// Code here
//........
return ;
}
【问题讨论】:
-
不要大写
Typedef、Char和Void -
你使用的标准库有这些功能吗?那么是的,您可以使用这些功能。现在应该你使用这些功能吗?这取决于您的目标平台、您的要求、您的(软件)设计以及许多其他因素。这里没有明确的“是”或“否”答案。
-
对了,你不是说
malloc和free吗? -
最后,总是
free你malloc(直接或间接)。特别是在您不确定操作系统(如果有)是否会为您释放内存的系统上。 -
这取决于你所说的“嵌入式系统”。
标签: c memory embedded malloc ram