Предположим, у меня есть три скомпилированных объекта, все созданные одним и тем же компилятором/версией:
- A скомпилирован по стандарту C++11
- B скомпилирован по стандарту C++14
- C скомпилирован по стандарту C++17
Для простоты предположим, что все заголовки написаны на C++11, использование только конструкций, семантика которых не изменилась между всеми тремя стандартными версиями, поэтому любые взаимозависимости были правильно выражены с включением заголовка, и компилятор не возражал.
Какие комбинации этих объектов подходят и не безопасно ли связать их в один двоичный файл? Почему?
Ответы, касающиеся основных компиляторов (например, GCC, Clang и MSVC++), приветствуются.
Подробнее здесь:
https://stackoverflow.com/questions/467 ... 11-objects