Wednesday, 27 September 2017

c++ - What is external linkage and internal linkage?



I want to understand the external linkage and internal linkage and their difference.



I also want to know the meaning of





const variables internally link by default unless otherwise declared as extern.



Answer



When you write an implementation file (.cpp, .cxx, etc) your compiler generates a translation unit. This is the object file from your implementation file plus all the headers you #included in it.



Internal linkage refers to everything only in scope of a translation unit.



External linkage refers to things that exist beyond a particular translation unit. In other words, accessible through the whole program, which is the combination of all translation units (or object files).



No comments:

Post a Comment

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...