Là encore c'est utiliser des extensions du standards.
Le standard C ne défini pas d'ABI. Et donc les .s vont dépendre de l'ABI choisie par le compilateur utilisé.
Mais le code écrit en C est valide. Ou l'est il vraiment ? Le standard précise que le symbole en question doit apparaître dans une autre translation unit (C99 §6.7.4 8 / §6.9 5), et une translation unit est définie à partir du code en C (§5.1.1.1).
Bon, c'est vraiment du chipotage.
[^] # Re: A defaut de GNU, il y a Linux
Posté par Gof (site web personnel) . En réponse au journal CPP Con sur Youtube. Évalué à 6.
Là encore c'est utiliser des extensions du standards.
Le standard C ne défini pas d'ABI. Et donc les .s vont dépendre de l'ABI choisie par le compilateur utilisé.
Mais le code écrit en C est valide. Ou l'est il vraiment ? Le standard précise que le symbole en question doit apparaître dans une autre translation unit (C99 §6.7.4 8 / §6.9 5), et une translation unit est définie à partir du code en C (§5.1.1.1).
Bon, c'est vraiment du chipotage.