Tuesday 9 April 2013

Where does global, static, and local, register variables get stored?

Where does global, static, and local, register variables get stored?
Ans: Global: Wherever the linker puts them. Typically the “BSS segment” on many platforms.
Static: Again, wherever the linker puts them. Often, they’re intermixed with the global. The only difference between global and statics is whether the linker will resolve the symbols across compilation units.Local: Typically on the stack, unless the variable gets register allocated and never spills.Register: Nowadays, these are equivalent to “Local” variables. They live on the stack unless they get register-allocated.



Blog Author: Vijay Kumar

No comments:

Post a Comment