10 votes
Accepted

What does the linker do?

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 ...
user avatar
  • 17.4k
8 votes

What does the linker do?

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 ...
user avatar
  • 1,146
3 votes

Why do macros take more space than an equivalently defined function?

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 ...
user avatar
  • 1,146
3 votes
Accepted

Why do macros take more space than an equivalently defined function?

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 ...
user avatar
  • 1,156

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