D’accord avec toi sur les deux points. Mon propos était davantage que c’est trop facile de faire des conversions et de l’arithmétique de pointeurs qui résultent en des accès involontairement non-alignés non-détectés/gérés par le compilateur, qui peuvent ainsi :
1. nuire à la perf
2. planter directement (architecture non testée)
3. planter "indirectement" comme dans ton cas
Du coup ma question reformulée est : comment peut-on détecter les problèmes d’alignement non détectés par le compilateur, dans le cas où au pire les machines de test sont juste (un peu) ralenties ? Je préférais avoir un plantage (cf. cas 2) ou mieux : un analyseur qui détecte ça (je ne crois pas que clang-tidy le fasse par exemple).
[^] # Re: Next level
Posté par DerVogel . En réponse au journal "It works on my satellite". Évalué à 3.
D’accord avec toi sur les deux points. Mon propos était davantage que c’est trop facile de faire des conversions et de l’arithmétique de pointeurs qui résultent en des accès involontairement non-alignés non-détectés/gérés par le compilateur, qui peuvent ainsi :
1. nuire à la perf
2. planter directement (architecture non testée)
3. planter "indirectement" comme dans ton cas
Du coup ma question reformulée est : comment peut-on détecter les problèmes d’alignement non détectés par le compilateur, dans le cas où au pire les machines de test sont juste (un peu) ralenties ? Je préférais avoir un plantage (cf. cas 2) ou mieux : un analyseur qui détecte ça (je ne crois pas que clang-tidy le fasse par exemple).