Hi George, > Could you provide some references to them? The C++ Programming Language (special edition) by Stroustrup Chapter 13 in particular. Other highly recommended references in general... C++ FAQs by Cline, Lomow, Girou Large-Scale C++ Software Design by Lakos C++ Coding Standards by Sutter, Alexandrescu Exceptional C++ by Sutter More Exceptional C++ by Sutter Exceptional C++ Style by Sutter Debugging the Development Process by Maguire Code Complete by McConnell Writing Solid Code by Maguire > Could you provide some reference about weak linker and a strong (explicit linker)? Know your linkage: weak, vague, strong, external, static. (I probably missed a few.) Google turned up this URL: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Conc epts/WeakLinking.html > I can understand what you mean, but I do not know why if header files emit code, the footprint will be larger? If a header emits stuff, then every translation that includes that header will emit that code. If you have 1000 source files which include that header, you will have 1000 copies of the stuff emitted by that header. So, yes, the footprint will be larger. > gcc manual does not contain much information about these parameters. Could you briefly introduce the functions of them? I'm not that familiar with them, myself. They are not supported on the platforms I use. I can only refer you to the GCC manual. HTH, --Eljay