Hi , Which is best local or global variables wrt data memory ?I observed that XData size is getting reduced when I am replacing my global variable with local variable.is there any effect on internal data memory if I use local variable instead of global variables?and what about the performance? I am waiting for your valuable suggestions.. With Regards, Bhaskar Reddy bhaskar@blazeautomation.com
I was kinda hoping that the OP would realise the issue in his thinking, but you gave it away - so I doubt he'll be doing any thinking at all now.
OMG. I'm so tempted to say what I really think of what you wrote there, but I'll bite my tongue.
You believe the OP understood the nuances of what I wrote in response to your questions? genuinely?
Which is best local or global variables wrt data memory ?
both are the best.
Correct - thus showing a flaw in the original question.
Yes, you should be more careful in how you pose them next time.
Or optimisation level below 2:
Correct.
http://www.keil.com/support/man/docs/c51/c51_optimize.htm
"if the local variable happens to be declared as static, then the lifetime will be the same"
"if the linker directive of NOOVERLAY is used, then the overall memory usage will be the same"
Yes.
It would be worth you reading up on memory models.
http://www.keil.com/support/man/docs/c51/c51_le_memmodels.htm
For how long does a global variable occupy its place in memory?
For how long does a local variable occupy its place in memory?
Well now, if the local variable happens to be declared as static, then the lifetime will be the same.
Likewise, if the linker directive of NOOVERLAY is used, then the overall memory usage will be the same.
No?
Thakns for your reply, I am using p89v51RD2 micro controller and Keil software. With regards, Bhaskar
Can you first confirm that it really is a C251 you are using and not the C51 compiler.
View all questions in Keil forum