Comment peut-on faire la différence entre deux exécutables issus d'un meme code source mais compilés par des outils différents?
Comment peut-on faire la différence entre deux exécutables issus d'un meme code source mais compilés par des outils différents?
Savoir quel compilateur a produit quel exécutable?
Salut,
Tu es bien avare sur les détails, mais bon... Supposons que tu écrives un programme console. Tu peux afficher des #define spécifiques au compilateur, au démarrage ou par une option de la ligne de commande (-v ou --version par exemple). Par exemple:
__DATE__ et __TIME__ étant des #defines générés par tous les compilos, sauf erreur. Mais pour avoir explicitement le nom du compilateur, je ne vois pas d'autre solution que de créer un define en dur par l'IDE de ton compilateur. Peut-être que quelqu'un d'autre est plus familier avec ce genre d'info?
Code : Sélectionner tout - Visualiser dans une fenêtre à part printf("Release version - Comp. %s %s", __DATE__ ,__TIME__);
A+
Pfeuh
Pour plus d'infos, j'ai deux exécutables et je veux savoir s'ils ont été compilés avec deux compilateurs différents (y compris les éditeurs de liens).
Merci pour vos avis
A mon avis il doit y avoir une entête. C'est à dire qu'une lecture en hexa du début des deux exe pourrait peut-être vous donner des informations. Peut-âtre pas directement les auteurs des compilateurs-linkeurs, mais au moins des informations comparables et qui permettraient d'affiner votre recherche.
De toute façon, je suis persuadé que l'organisation des .exe est très basique (trivial fait beaucoup mieux), et que, sauf le fait que c'est du binaire, ça doit être très simple.
N'oubliez pas qu'un .exe contient des informations en texte du genre nom de fonction.
Partager