J'utilise le compilateur cl.exe de Visual Studio 2005. Je l'appelle avec un tas de/I/D et quelques drapeaux de compilation/optimisation (exemple:/Ehsc).cl.exe Différence dans les fichiers objet lorsque la sortie/E est la même et que les indicateurs sont les mêmes
J'ai deux scripts de compilation, et les deux ne diffèrent que par les drapeaux/I (les répertoires include sont différents). Tous les autres drapeaux sont les mêmes. Ces scripts produisent différents fichiers objets (et pas seulement une différence d'horodatage comme indiqué ci-dessous). La chose étrange est que la sortie/E des deux scripts est la même. Cela signifie que les fichiers include ne causent pas la différence dans les fichiers objet, mais là encore, d'où vient la différence? Quelqu'un peut-il m'expliquer comment je vois deux fichiers objets différents dans ma situation? Si les fichiers include causent la différence, comment se fait-il que je vois une sortie identique/E?
PS. Les fichiers objets sont différents non seulement dans l'horodatage, mais aussi dans les sections de code. En fait, le comportement de mon exécutable final est différent dans les deux cas.
Editer: PSS: J'ai même regardé la sortie/includeFiles de cl.exe et cette sortie est identique. Les fichiers objets, cependant, diffèrent dans plus que l'horodatage (en fait, 1KB est plus grand qu'un autre!)
Si tel est le cas, la sortie/E ne devrait-elle pas être différente? Le drapeau/E donne la sortie du préprocesseur. –