10

The #include pre-processor directive does not copy the code from libraries to your source code. It deals with header files (i.e., the ones that end with the .h extension). In the pre-processing phase, different preprocessor directives are resolved. For example, the #include preprocessor directive, copies the contents of a header file and places them where ...


7

Well, this is a really good question that I also( at a point of time) googled up and found this image, which is enough to explain everything So, you can see in this image that the code is first pre processed and saved as a filename.i file and then it's compiled where, its converted to an filename.s, so, you must be thinking that where's my answer to the ...


3

The plain and simple truth is: Macros are NOT stored directly in memory.(during program execution and/or compiling) What happens is, that, the values are copied from the macro to where you used the macro during preprocessing. When it comes to the compiler they don't even exist, they've been replaced by the preprocessor before they get that far. That is, ...


3

A function is identified by an entry point (address) inside the executable code. You use a function from different parts of your code. If you use a macro, the object code of that macro is substituted in each section of the code where it is called, so you have multiple copies of the same code instead of just one called by reference.


Only top voted, non community-wiki answers of a minimum length are eligible