• [^] # Re: Je blâme le C et le C++

    Posté par . En réponse au journal Le paranormal en informatique. Évalué à 4.

    Vraiment ? Est-ce qu'il n'y a pas d'option de compilation pour le C qui permet de détecter un débordement de tableau ?

    En Fortran, c'est une erreur qu'on détecte très facilement avec tous les compilateurs que j'ai pu utiliser tout au long de ma vie professionnelle.

    Autrefois, c'est à dire à l'époque du Fortran 77 et encore avant, c'était au contraire un truc qu'on faisait couramment quand on utilisait les COMMON pour se simplifier la gestion des tableaux, en particulier pour simuler de l'allocation dynamique de mémoire.

    Des choses du genre :

    dans le programme principal :

    common/toto/a(100)

    et dans les sous-programmes :

    common/toto/a(1)

    Si on avait besoin de plus de place pour le tableau a(), il suffisait de modifier la déclaration dans le programme principal.

    Aujourd'hui avec les PARAMETER et les modules on n'a plus besoin de ce genre d'horreur et on peut, avec la bonne option de compilation, vérifier en continu (ou simplement en mode debug) qu'il n'y a aucun débordement de tableau.