Compilation C++ différente sur 2 machines avec VC++6
Bonjour,
J'ai un problème de compilation d'un projet développé sous VC++6.
Le même projet compilé sur deux machines différentes génère deux exe différents : un qui fonctionne, et un qui ne fonctionne pas.
En demandant la génération de fichier .cod, une différence remarquable (les noms de variables ne sont pas significatifs) est la suivante :
pour cette ligne de code :
une des machines génère
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CTime dummy = CTime(current.GetYear(),current.GetMonth(),current.GetDay(), TempTime.GetHour(),TempTime.GetMinute(),0,0);
et l'autre génère :0035f 6a 00 push 0
00361 6a 00 push 0
00363 8d 4d dc lea ecx, DWORD PTR _TempTime$112900[ebp]
00366 e8 00 00 00 00 call ?GetMinute@CTime@@QBEHXZ ; CTime::GetMinute
0036b 50 push eax
0036c 8d 4d dc lea ecx, DWORD PTR _TempTime$112900[ebp]
0036f e8 00 00 00 00 call ?GetHour@CTime@@QBEHXZ ; CTime::GetHour
00374 50 push eax
00375 8d 4d d4 lea ecx, DWORD PTR _current$112908[ebp]
00378 e8 00 00 00 00 call ?GetDay@CTime@@QBEHXZ ; CTime::GetDay
0037d 50 push eax
0037e 8d 4d d4 lea ecx, DWORD PTR _current$112908[ebp]
00381 e8 00 00 00 00 call ?GetMonth@CTime@@QBEHXZ ; CTime::GetMonth
00386 50 push eax
00387 8d 4d d4 lea ecx, DWORD PTR _current$112908[ebp]
0038a e8 00 00 00 00 call ?GetYear@CTime@@QBEHXZ ; CTime::GetYear
0038f 50 push eax
00390 8d 4d d0 lea ecx, DWORD PTR _dummy$112909[ebp]
00393 e8 00 00 00 00 call ??0CTime@@QAE@HHHHHHH@Z ; CTime::CTime
Quelqu'un aurait une idée du pourquoi il y a des différences sur les appels à la fin ?0035f 6a 00 push 0
00361 6a 00 push 0
00363 8d 4d dc lea ecx, DWORD PTR _TempTime$112840[ebp]
00366 e8 00 00 00 00 call ?GetMinute@CTime@@QBEHXZ ; CTime::GetMinute
0036b 50 push eax
0036c 8d 4d dc lea ecx, DWORD PTR _TempTime$112840[ebp]
0036f e8 00 00 00 00 call ?GetHour@CTime@@QBEHXZ ; CTime::GetHour
00374 50 push eax
00375 8d 4d d4 lea ecx, DWORD PTR _current$112848[ebp]
00378 e8 00 00 00 00 call ?GetDay@CTime@@QBEHXZ ; CTime::GetDay
0037d 50 push eax
0037e 8d 4d d4 lea ecx, DWORD PTR _current$112848[ebp]
00381 e8 00 00 00 00 call ?GetMonth@CTime@@QBEHXZ ; CTime::GetMonth
00386 50 push eax
00387 8d 4d d4 lea ecx, DWORD PTR _current$112848[ebp]
0038a e8 00 00 00 00 call ?GetYear@CTime@@QBEHXZ ; CTime::GetYear
0038f 50 push eax
00390 8d 8d 74 ff ff
ff lea ecx, DWORD PTR $T120101[ebp]
00396 e8 00 00 00 00 call ??0CTime@@QAE@HHHHHHH@Z ; CTime::CTime
0039b 50 push eax
0039c 8d 4d d0 lea ecx, DWORD PTR _dummy$112849[ebp]
0039f e8 00 00 00 00 call ??0CTime@@QAE@ABV0@@Z ; CTime::CTime
Merci
Partager