MinGW: Kompilat jedes Mal verschieden

mccae

Senfdazugeber
Huhu,

Ich programmiere eigentlich in Java, doch nun habe ich die ein oder andere JNI Bibliothek schreiben müssen.

Dabei ist mir etwas komisches aufgefallen:
Nach jedem Kompilieren verändert sich das Kompilat (Einige Bytes sind anders) obwohl der Code und alles unverändert ist.

Ich benutze folgende Commands:

Code:
C:\MinGW64\bin\gcc.exe -mno-cygwin -Wall -D_JNI_IMPLEMENTATION_ -m64 -fPIC -Wl,--add-stdcall-alias -shared -IC:\javainclude\ -IC:\javainclude\win32 -shared -o bin\WindowsNative64.dll WindowsNative.c

und:

C:\MinGW\bin\gcc.exe -mno-cygwin -Wall -D_JNI_IMPLEMENTATION_ -m32 -fPIC -Wl,--add-stdcall-alias -shared -IC:\javainclude\ -IC:\javainclude\win32 -shared -o bin\WindowsNative32.dll WindowsNative.c

Mich wundert es einfach, dass die Dateien anders sind.
Denn bei Java bleibt compilierter Bytecode immer gleich wenn nichts geändert wurde.

Meine Vermutung fällt auf eine Geschichte mit Datum und Uhrzeit.
Nur weiß ich nichts davon, dass das Kompilierdatum oder dergleichen in eine PE eingetragen wird.

Da ich nicht aus der C-Ecke bin, kenne ich mich auch nur grob mit DOS/Windows PE Dateien aus.

Kann mich jemand aufklären?

Liebe Grüße,
Martin
 
Hi

Richtig, PE hat einen Timestamp.
Dazu noch uA. eine Checksumme, die auch jedes Mal anders ist.
Usw...

Gruß
 
Zurück