Software Development with C++: Dynamic and Static Linking