AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Einfluß auf die Größe der EXE-Dateien
Thema durchsuchen
Ansicht
Themen-Optionen

Einfluß auf die Größe der EXE-Dateien

Ein Thema von kwhk · begonnen am 20. Jan 2017 · letzter Beitrag vom 21. Jan 2017
Antwort Antwort
Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#1

Einfluß auf die Größe der EXE-Dateien

  Alt 20. Jan 2017, 12:35
Hallo,
ich habe ein paar meine Oldi-Programme überarbeitet, damit sie auch unter Windows 10 laufen. Mal ein kleines Beispiel, mein Programm DateTime. Wenn man das in einem CMD-Fenster aufruft, dann werden Datum und Uhrzeit protokolliert, danach wird das Programm beendet.
Code:
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Alle Rechte vorbehalten.

D:\Delphi10RAD\HK\DateTime>datetime
-------- Datum: 20.01.2017  ---  Tag: Freitag ------  Zeit: 13:27:18 ---------
Die erste Version habe ich vor vielen Jahren mit TASM gemacht, da wurde eine DateTime.COM erstellt, die war 381 Bytes lang.

Dann habe ich dieses Programm mit Delphi 3,5,6,7 gemacht. Mit Delphi 7 wird eine DateTime.exe erstellt, die ist 372.736 Bytes lang.

Nun habe ich mit RAD Studio 10.1 Berlin das gleiche Programm erzeugt (gleicher Source-Code wie bei Delphi 7), da wächst das Programm auf 2.153.984 Bytes.

Einen ähnlichen Effekt habe ich auch bei anderen Programmen bemerkt. EXE aus RAD-Studio 10.1 Berlin haben eine vielfache Dateigröße gegenüber der EXE-Dateien aus Delphi 7.

Habe ich da bei DEBUG o.ä. etwas nicht richtig eingestellt ?
DEBUG kann ich auch mit Delphi 7 machen.
Hartmut

Geändert von kwhk (20. Jan 2017 um 12:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.930 Beiträge
 
Delphi 12 Athens
 
#2

AW: Einfluß auf die Größe der EXE-Dateien

  Alt 20. Jan 2017, 12:46
Es ist in den RTL- und VCL-Units eben sehr viel an Funktionalität dazugekommen, die der Linker nicht immer automatisch weglassen kann.

Man kann einiges aus den Exen entfernen, z.B. die RTTI Informationen, aber ganz klein ist es trotzdem nicht.

Eine minimale Kommandozeilenanwendung ist in Delphi 10.1 ca. 43 KiB groß. Mit System.SysUtils sind es dann schon 136 KiB. Mit DateUtils sind es dann 521 KiB.

Deine Exe-Größe lässt mich aber vermuten, dass du Vcl.Forms oder andere VCL-Units eingebunden hast. Denn erst damit kommt man sofort über 2 MiB (in der Release-Buildkonfiguration!). Oder du hast noch die Debug-Buildkonfiguration aktiv.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Einfluß auf die Größe der EXE-Dateien

  Alt 20. Jan 2017, 13:26
Es ist eine Konsolenanwendung. Ich hänge die mal als ZIP an, falls es interessiert. Für Hinweise wäre ich wirklich dankbar.
Angehängte Dateien
Dateityp: zip HexList.zip (1,57 MB, 9x aufgerufen)
Hartmut

Geändert von kwhk (20. Jan 2017 um 13:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Einfluß auf die Größe der EXE-Dateien

  Alt 20. Jan 2017, 13:30
Eigentlich wollte ich das kleinere Trivial-Programm DateTime anhängen
Angehängte Dateien
Dateityp: zip DateTime.zip (827,7 KB, 13x aufgerufen)
Hartmut
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#5

AW: Einfluß auf die Größe der EXE-Dateien

  Alt 20. Jan 2017, 14:02
Es ist eine Konsolenanwendung.
Nö. In der DateTime.dpr sowie der DateTimeU.pas sieht man TForm1, uses Forms usw. Es ist also keine Konsolenanwendung, die auch als solche erstellt worden wäre.

Grüße
Dalai
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#6

AW: Einfluß auf die Größe der EXE-Dateien

  Alt 20. Jan 2017, 14:06
Konsolenanwendung Beispiel: http://docwiki.embarcadero.com/RADSt...lenanwendungen
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#7

AW: Einfluß auf die Größe der EXE-Dateien

  Alt 20. Jan 2017, 14:11
141 kB mit XE7
Delphi-Quellcode:
program Project1; //20170120

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

Var
  DatumZeit : TDateTime;
  ZeitDatum : TDateTime;
  DatumS : String; // "tt.mm.jjjj"
  ZeitS : String;
  WoTgNr : Integer;
  TageS : Array[1..7] of String;
  Meldung : String;

begin
  try
  DatumS := 'tt.mm.jjjj';

  TageS[1] := 'Sonntag ---'; // je 12 Bytes
  TageS[2] := 'Montag ----';
  TageS[3] := 'Dienstag --';
  TageS[4] := 'Mittwoch --';
  TageS[5] := 'Donnerstag ';
  TageS[6] := 'Freitag ---';
  TageS[7] := 'Sonnabend -';

  DatumZeit := Date;
  ZeitDatum := Time;
  DatumS := DateToStr(DatumZeit);
  ZeitS := TimeToStr(ZeitDatum);
  WoTgNr := DayOfWeek(DatumZeit);

  Meldung := '-------- Datum: '+DatumS+' --- Tag: '+TageS[WoTgNr]+'--- Zeit: '+ZeitS+' ---------'+#$07+#$0D+#$0A;

  WriteLn(Meldung);
  ReadLn; // eingefügt für Test

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Angehängte Dateien
Dateityp: zip DTtest.zip (60,7 KB, 3x aufgerufen)

Geändert von t.roller (20. Jan 2017 um 14:15 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz