Bonsoir,

Il y a quelques temps, je pensais ouvrir un fil sur les options d'invocation de FreePascal, et précisement sur celles qui appellent des commentaires à leur sujet. J'y viens finalement tardivement, et j'ajouterai quelques notes ici au fur et à mesure.

  • -Og
    Rôle: optmisait pour la taille du code
    Commentaire: n'existe plus depuis FPC 2.2
  • -OG
    Rôle: optimisait pour la rapidité du code
    Commentaire: n'existe plus depuis FPC 2.2
  • -Adefault
    Rôle: demande à FreePascal d'utiliser l'assembler par défaut
    Commentaire: n'est pas reconnu comme option valide par le compilateur (dut à un bug), et le mieux pour obtenir le même effet, est donc de ne pas donner cette option du tout.
  • -Fc<x>
    Rôle: <x> est page de code des fichiers source
    Commentaire: utilisez de préférence ISO 8859-1 (-Fc8859-1), même si vos sources sont en UTF-8.
    Explication: si votre application est UTF-8, elle doit travailler avec des chaînes UTF-8, qui sont des chaînes d'élément de 1 octet. Il faut donc une option compatible avec des sources UTF-8, mais qui ne produit pas des chaînes Unicode. Cette page de code compatible avec les deux situations tout à la fois, c'est ISO 8859-1.
  • -B
    Rôle: demande à FPC de recompiler toute les unités, et pas seulement celles qui ont été modifiées, et à l'exception des unités systèmes et des unités release (celles qui ont été compilées avec l'option -Ur)
    Commentaire: cette option joue un rôle centrale qu'elle n'a normalement pas par principe : elle permet de contourner un bug de FPC (au moins jusqu'à la version 2.0), qui fait que FPC plante dès lors qu'on compile une application qui a dans ses dépendances, des unités qui exportent des fonctions inline. Si le compilateur plante dans ce cas, utilisez l'option -B, qui ralentit le compilation (car recompilation complète), mais la fait au moins aboutir.