在C程序优化中经常需要对变量的内存分配进行限定,在用#pragma DATA_ALIGN 及#pragma DATA_SECTION时发现其只能对程度的全局变量起作用,而不能对局部变量或子程序中的变量起作用,即使其被限定为static也不行。这个是因为局部变量是采用stack的内存分配机制?
有没有其它方法可以对局部变量的内存分配进行限定?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
好像#pragma DATA_ALIGN 是可以对局部变量起作用的。
#pragma DATA_SECTION是不能对局部变量起作用,原因就是因为C语言环境决定了局部变量只能从堆栈中分配,在函数生命周期结束后释放。因此不能在别的地方放置局部变量。
有什么需求是要求局部变量一定放在某个地方的么?