Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Entwicklungsumgebungen erzeugen unterschiedliche Anwendungen (https://www.delphipraxis.net/173749-entwicklungsumgebungen-erzeugen-unterschiedliche-anwendungen.html)

Patrick 14. Mär 2013 09:08

Delphi-Version: 2010

Entwicklungsumgebungen erzeugen unterschiedliche Anwendungen
 
Hallo,

Mir ist folgendes aufgefallen:

Wenn ich mein Projekt auf unterschiedlichen Rechnern compiliere sind die resultierenden Anwendungen nicht binärgleich. Woran liegt das? Ich verwende einige 3rd-Party Komponenten, aber diese sind auf allen Rechnern installiert.

Wenn ich ein einfaches Projekt (ohne 3rd-Party Komponenten) auf 2 Rechnern kompiliere erhalte ich ebenfalls unterschiedliche Anwendungen. Allerdings sind es nur eine Hand voll.

Der schöne Günther 14. Mär 2013 09:13

AW: Entwicklungsumgebungen erzeugen unterschiedliche Anwendungen
 
Vielleicht versenkt der Compiler noch Lizenz- und PC-Informationen im Kompilat?

mkinzler 14. Mär 2013 09:15

AW: Entwicklungsumgebungen erzeugen unterschiedliche Anwendungen
 
Zudem wurden die Anwendungen auch nicht gleichzeitig erzeugt. So unterscheiden sie sich in den Zeitstempeln

Daniel 14. Mär 2013 09:16

AW: Entwicklungsumgebungen erzeugen unterschiedliche Anwendungen
 
Lizenz-Infos nicht, aber Debug-Informationen.
Wenn die 3rd-Party-Komponenten nicht exakt gleich übersetzt wurden und als DCU eingebunden werden, dann erklären sich die Unterschiede daraus.
Die "Handvoll" unterschiede wiederum könnten u.a. im Zeitstempel begründet liegen, den der Compiler mit in die EXE schreibt.

mjustin 14. Mär 2013 11:18

AW: Entwicklungsumgebungen erzeugen unterschiedliche Anwendungen
 
In einer Antwort auf die Frage Delphi Compile and Build produce different binary on same project wird dargestellt, dass es an uninitalisierten Speicherbereichen liegt, die daher Zufallswerte enthalten:

Zitat:

Part of the problem your seeing, IIRC, is that the compiler doesn't zero out memory before doing a compile/build. Thus anything left in uninitialized memory becomes filler in the output for alignment purposes
Überprüft oder bestätigt wurde dies aber dort noch nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz