2017-02-01 3 views
5

Je crois savoir (à l'exception notable du passage de VS2015 à VS2017), Microsoft fait des changements ABI entre chaque version de la chaîne d'outils Visual C++. Donc, si je veux distribuer une version binaire d'une bibliothèque, je dois en distribuer une version séparée pour chaque nouvelle version de VS que je veux supporter.ABI-Compatibilité des c-libraries Visual Studio

Maintenant, mes questions sont les suivantes:

  • Est-ce est également vrai pour les bibliothèques pures c-?
  • La réponse diffère-t-elle entre dll et bibliothèques statiques?
  • Existe-t-il une politique officielle de la part des États membres sur ce qu'ils visent dans le futur?

(en particulier à la lumière du refactoring and stabilization of the crt)

Si cela est pertinent, je serais content d'une réponse spécifique à Win10 mais je suis aussi intéressé par toutes les versions de Windows depuis (et y compris) Win7. Les versions de VS Studio qui m'intéressent sont VS2013/15/17 et, dans la mesure des prédictions possibles, les versions futures.

+2

pure 'C' est stable (ont trouvé la déclaration dans le passé - si je peux le trouver à nouveau des postes sera comme une réponse). Notez que toutes les méthodes Win32API (y compris COM) sont exportées en tant que 'C'. Faire une rupture de l'ABI 'C' casserait tous les appels dans le système d'exploitation. –

+0

@RichardCritten: Merci beaucoup. C'était à peu près ce à quoi je m'attendais, mais je n'ai pas pu trouver de documentation officielle. Ce serait formidable, si vous pouviez trouver une source pour cela, mais j'accepterais aussi votre réponse sans cela. – MikeMB

Répondre