About 5744p stack initial

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

About 5744p stack initial

896 次查看
liujinhang
Contributor III

hi,

if there is a function likes bellow:

void Func_A(void)

{   

   unsigned int a;   

   unsigned int b = 0;

}

 

can we make sure the local variables 'a' and 'b' are all zero when Func_A is called?

if we can't make sure 'a' will be zero, how can we do to make sure that?

i know one way of coding like below:

unsigned int a = 0;   

but some times i can not make sure all local variables are all initialed.  how can i do to make compiler to initial all un-initialled local variables to zero before running the functions?

 

PS: my compiler is Green Hills.

标签 (1)
0 项奖励
回复
2 回复数

767 次查看
stanish
NXP Employee
NXP Employee

Hi,

I'm not aware of such a a feature/switch.

User is responsible for the initialization of all the local variables. These variables exists on stack or a register.

Anyway compiler should issue a warning in case there is an uninitialized variable. So I'd suggest you to start with these warnings.

Stan

0 项奖励
回复

767 次查看
davidtosenovjan
NXP TechSupport
NXP TechSupport

Hi, it is rather question for GreenHills but in principle only “unsigned int a = 0;” or further initialization in code will guarantee unitialized local variable is cleared.

0 项奖励
回复