Cette partie du forum n’est pas compatible avec les bloqueurs publicitaires
Félicitations à vous, de préférer les accès payants plutôt que la gratuité par la publicité, c’est honnorable et cohérent de votre part. Malheureusement, l’accès payant par micropaiement (qui serait d’environ 1 cent pour 20 pages consultées) n’est pour l’instant pas encore mis en place, et l’accès gratuit sans publicité, est réservé aux membres actif(ve)s du forum. En attendant, si vous souhaitez poursuivre votre visite chez nous, vous pouvez ajouter le site à votre liste blanche, ou encore mieux, désactiver le bloqueur partout. Pour ajouter le site à votre liste blanche, pour Firefox (similaire pour les autres navigateurs), rendez‑vous en bas à gauche de la fenêtre de votre navigateur, et cliquez sur le menu comme dans l’exemple de l’image ci‑dessous, puis rechargez la page, en appuyant sur F5.
|
|
Auteur | Message |
---|---|
Administrateur
|
Ne fait pas parti d’un standard, mais est utile à mentionner : c-faq.com.
Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
|
|
Administrateur
|
Voir aussi, sur des ajouts au standard, certains approuvés certains abandonnés : Experimental C standard libraries (cppreference.com).
Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
|
Bien que le C soit un standard de fait, il n’en est pas universel pour autant. L’article ci‑dessous (qui me parle, pour des raisons que je ne décrit pas parce que pas assez de volonté pour ça à l’instant), décrit comment les processeurs actuels sont devenus complexes et gourmands en énergie, comme conséquence de vouloir continuer à donner l’illusion que le modèle sémantique du C est toujours valable alors qu’il ne l’est plus de puis longtemps. Dans le cas de l’exemple décrit dans l’article, la conséquence est même une lacune dans la fiabilité, une lacune malheureusement difficile à éviter.
Voir : C is not a low-level language — your computer is not a fast PDP‑11 (acm.org), David Chisnall, 2018. Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
|
Hibou a écrit : […] Le mot clé “ restrict ” pour les “ pointer ”, pourrait être considéré comme capital, si on oubliait qu’il ne s’applique qu’au pointeur auquel il s’applique et non‑pas à ce que design le pointeur. En particulier, restrict ne permet pas d’affirmation sur l’aliasing indirect. Il n’y a même pas besoin d’aller chercher une indirection lointaine, elle peut être tout prêt : si p1 et p2 désignent deux tableaux et que p2 pointe vers un élément de p1, on a bien un aliasing alors que p1 et p2 sont différents. Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
|
Hibou a écrit : Comme le standard du C a des lacunes sémantiques, un ajout au sujet : Defining the Undefinedness of C (illinois.edu). L’option “ -fsanitize=undefined ”, de Clang, le compilateur C de l’infrastructure LLVM, permet d’aider à déceler les opérations dont le résultat est indéfini d’après le standard du C. L’option produit une version instrumentée du programme, ce n’est pas une détection par de l’analyse statique. En marge, même si ce n’est pas le sujet, ne pas oublier que le standard POSIX, lui aussi, contient des notes à propos de circonstances dans lesquelles le résultat de certaines opérations doit être considéré comme indéfini. Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
|