我刚才知道我们可以在C++程序中明确地使用寄存器.我想知道如果我在一个C++程序中声明并使用所有可用的寄存器并运行它相当长的时间.我的系统行为有多糟糕,操作系统将采取什么(如果有的话)措施来摆脱这种情况.
我在我想声明一个数组的函数中的代码中的某个地方遇到了问题,但它失败了。经过一些调试后,我发现它在反汇编窗口中使用了 malloc,所以我增加了堆大小并且它工作正常!
所以我的问题是为什么 keil 使用堆作为局部变量?
这是变量声明代码:
uint8_t result[data->capacityBytes];
memset(result, 0, sizeof(result));
Run Code Online (Sandbox Code Playgroud)
我添加了标志 C99