Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/16/12 09:48
Read: times


 
#187378 - Tried any good C book lately?
Responding to: ???'s previous message
Note that terminology and a number of answers depends on the specific compiler.

So the way to answer the questions is to read the C standard (or at least a good C book) and to read the manual for the compiler.

Constants are often stored in the text segment, which is normally flash (or write-protected when program is run in RAM in modern PC-class processor). Being constant, they are read-only and don't need to be in memory with R/W access. Having an embedded processor copy the value from the flash (code space) into RAM is obviously a waste of resources, as long as the processor have reasonable instructions for reading data from the code memory.

Data contains global variables (and file-local static variables) that have been given an explicit initial value.
Data also contains static variables declared inside functions, since static, when used with a variable declaration inside a function, means that it's a "global" variable but without being available in the global name space.

BSS contains global variables that haven't been given an explicit initial value. So they get zero-initialized.

Stack isn't just local variables - it's also (normally) for return addresses from function calls. The exception is for processors that have a special return stack in hardware.

What do you think happens during runtime? Haven't your teacher given you some good references to read?
Any C programming book would tell you which variables have explict initial values, which are zero-initialized and which aren't initialized at all.

The compiler manual will tell you where #include looks for files. It is depending on compiler where it will look. But the teacher probably expects you to give two answers here. The C programming books will tell you why.

#define - doesn't store anything anywhere. The C programming books will tell you what #define does.

List of 21 messages in thread
TopicAuthorDate
Memory Organization            01/01/70 00:00      
   Tried any good C book lately?            01/01/70 00:00      
      I am using Dennis Ritchie_ANCI C            01/01/70 00:00      
         Variables don't move just because you assign to them            01/01/70 00:00      
            can we start from ZERO........            01/01/70 00:00      
               Have you read my original post?            01/01/70 00:00      
               mixing stuff            01/01/70 00:00      
                  where it will be for MCU?            01/01/70 00:00      
                     is there any book for this fundamental things?            01/01/70 00:00      
                        and ....            01/01/70 00:00      
                     In this a general or Specific Question            01/01/70 00:00      
                        its General Que ????            01/01/70 00:00      
                           Separate "the C view of program" from "microcontroller view"            01/01/70 00:00      
                           NO!            01/01/70 00:00      
                              why not??            01/01/70 00:00      
                                 No - generic isn't meaningful            01/01/70 00:00      
                                 Interview questions can be asked out of limited knowledge            01/01/70 00:00      
                                    Seldom "one" answer other than to trivial questions            01/01/70 00:00      
   In Addition            01/01/70 00:00      
      Embedded?            01/01/70 00:00      
   sometimes, usually            01/01/70 00:00      

Back to Subject List