 Weak symbols can be used as a mechanism to provide default implementations of functions that can be replaced by more specialized (e.g.optimized) ones at link-time.The default implementation is then declared as weak, and, on certain targets, object files with strongly declared symbols are added to the linker command line.