Consider an application built using a compiler version (e.g. 1.x).
Consider a dynamic library built using the same compiler but of a different version (e.g. 1.y).
The interface exported by the dynamic library doesn’t contain C++ specific constructs (e.g.
std::vector, etc.); however it does contain
struct definitions (containing POD types and other
struct types only) and APIs using those
structs as arguments.
If I integrate the dynamic library in the application, could there be any binary incompatibility between the two?
Source: Windows Questions C++