-
Normalisation de l'ABI
Bonjour,
Est-il possible qu'un jour l'ABI soit standardisée ?
Permettant ainsi, par exemple, d'avoir une interface C++ plutôt que C pour un système de plugin, de compiler un soft avec VC++ en linkant une lib compilée avec GCC, ou encore d'avoir un compilo intégré dans la lib standard ou redistribuable en tant que lib pour permettre ce qu'on fait déjà avec C# par exemple, à savoir compiler des codes au runtime.
Je peux comprendre que ce ne soit pas une préoccupation prioritaire et/ou qu'il y ait de grandes problématiques soulevées ou encore que la standardisation de l'ABI ne serait pas suffisante pour répondre aux besoin que je cite en exemple.
Je sais également qu'il existe de nombreux langages de scripts relativement facilement intégrables tels que lua ou python. Mais je dois avouer ne pas aimer du tout ces langages interprétés et non typés.
C++ est le seul langage que j'ai eu l'occasion d'utiliser qui ne puisse pas utiliser une lib compilée avec un VC++2008 dans une solution compilée avec VC++2013. Je connais certaines des raisons qui provoquent ce problème. Mais n'y a-t-il pas de solutions ?
Vos avis sur le sujet m'intéresse beaucoup. Quels problèmes ça poserait, est-ce que c'est envisageable, peut-on atténuer le problème, etc... ?
-
Tu auras aussi des problèmes en C entre une lib compilée avec des long en 64bits, et une autre où les longs sont en 32bits...
Ceci dit, il y a du travail en cours pour normaliser l'ABI pour le C++17 si me souvenirs sont bons -- j'ai vu passer des papiers dans les mailings de 2014 -> N4028 sort au premier CTRL-F dans http://www.open-std.org/jtc1/sc22/wg...s/papers/2014/
-
Je dois dire que pour le coup je m'attendais plus à un déferlement de raisons qui empêcheraient de standardiser l'ABI. Je ne pensais pas qu'il y avait déjà une proposition pour ça.
Il n'est donc pas exclus que ca arrive. Même si je doute que ca vienne avec le C++17.
-
Ils ont d'autres gros chantiers pour le C++17 : les modules, les concepts. J'aurais bien aimé la PpC (mais c'est plus parti pour ne pas décorer les signatures des fonctions -- si je me fie au tout dernier mailing de la semaine dernière). Du coup, pour les ABI, on verra ce que ça donnera.