Я понимаю, что (за исключением исключения с VS2015 на VS2017) Microsoft делает ABI нарушением изменений между каждой версией инструментальной цепочки Visual C++. Поэтому, если я хочу распространять двоичную версию библиотеки, я должен распространять отдельную версию этого для каждой новой версии VS, которую я хочу поддерживать.ABI-совместимость c-библиотек visual studio
Теперь мои вопросы:
- Это также верно для чистых с-библиотек?
- Отвечает ли ответ между dlls и статическими библиотеками?
- Есть ли официальная политика от MS в отношении того, к чему они стремятся в будущем?
(в частности, в свете refactoring and stabilization of the crt)
Если это уместно, я бы довольствоваться ответом специфической для Win10, но я также заинтересован во всех версиях окон, так как (и в том числе) Win7. Версии VS Studio, которые мне интересны, - VS2013/15/17 и - насколько можно предсказать прогнозы - будущие выпуски.
Pure 'C' стабилен (нашел заявление в прошлом - если я могу найти его снова отправляет в ответ). Обратите внимание, что все методы Win32API (включая COM) экспортируются как 'C'. Внесение изменений в '' '' '' 'ABI нарушит все вызовы в ОС. –
@RichardCritten: Большое спасибо. Это было в значительной степени тем, что я ожидал, но я не смог найти официальную документацию. Было бы здорово, если бы вы могли найти источник для этого, но я также согласился бы с вашим ответом без него. – MikeMB