Я пришел из мира Linux и знаю множество статей о поддержке обратной бинарной совместимости (BC) динамического библиотечного API, написанного на языке С++. Одним из них является "Политики/проблемы совместимости с С++" на основе Itanium С++ ABI, который используется компилятором GCC. Но я не могу найти ничего подобного для компилятора Microsoft С++ (из MSVC).
Я понимаю, что большинство методов применимы к компилятору MS С++, и я хотел бы найти проблемы для компилятора, связанные с различиями ABI (макет v-table, mangling и т.д.)
Итак, мои вопросы следующие:
- Знаете ли вы какие-либо различия между MS С++ и компиляторами GCC при сохранении BC?
- Где я могу найти информацию о MS С++ ABI или о поддержке BC API в Windows?
Любая соответствующая информация будет высоко оценена.
Большое спасибо за вашу помощь!