调用多个所选功能并节省RAM的最佳方法

时间:2017-03-19 08:34:23

标签: c++ arduino

我正在编写这个相当长的程序,我遇到了奇怪的行为问题(很可能与内存有关)。所以我决定这次重写整个项目,不使用字符串,使用malloc,strcpy等来更好地管理内存。

此时我已经创建了所需的所有函数,我需要根据我正在提供的recognIncommingDataCode变量来决定调用每个事件的函数集。

<asp:TextBox runat="server" ID="regSponsor" AutoPostBack="true" EnableViewState="true" 
             OnTextChanged="regSponsor_TextChanged" required="required" 
             class="form-control" placeholder="Sponsor ID">
</asp:TextBox>

我的问题是,这是执行此任务的好方法还是(关于RAM内存)或者我应该创建9个单独的函数,它们只包含特定任务的函数调用,例如

protected void regSponsor_TextChanged(object sender, EventArgs e)
{
    Response.Write("<script>alert('Data inserted successfully')</script>");
}

1 个答案:

答案 0 :(得分:0)

准确地说,继续将它们分成不同的功能。

如果您正在使用任何合适的编译器,它将执行堆栈帧优化,并且不会超过返回地址大小的内存将在堆栈上使用。

说过堆栈帧的生命周期只有在呼叫返回之前。因此,除非这些函数以递归方式自行调用多次,否则您并非真正浪费任何内存。

至于它们应该分开的原因 - 它使代码更具可读性和可维护性。你可以想象你在上面写的版本非常难看。

最后,如果您真的担心它在堆栈中占用的内存,请继续将case函数标记为内联。