Re: BDS2006 exe sizes



On Sat, 25 Feb 2006 12:38:48 +0100, Hans-Peter Diettrich
<DrDiettrich@xxxxxxxxxxx> wrote:

Ian schrieb:

Did you just decide to drop BDS2006 just because one file is
slightly bigger than the other?

Slightly? I don't consider 25,600 bytes a slight increase. In D7, a
simple console application is only 16,384 bytes.

You should take into account the environment of a "console" application:

A 16 bit DOS program uses DOS and BIOS interrupts. When such a program
is started under Windows, then Windows has to provide (emulate) such an
environment.

A 32 bit console application uses Windows APIs instead of interrupts.
The capabilities of these APIs grow with every new Windows version, so
that the libraries also must grow, in order to make the new console etc.
functionality available to applications.

Really ?
The APIs are just declarations, mostly in the windows unit
- also the compiler strips out code that it knows is not used

More likely the reason for the growth is that more Class based code is
added, and it is hard for the compiler to be sure that it really is
redundant.

A .NET console application uses .NET APIs instead of interrupts, the
same API/library considerations apply as for 32 bit applications. A
difference (in file size) may be noticeable, because .NET provides most
library code in dedicated external assemblies - comparable to "using
runtime packages" in Delphi for Win32.

I like to envisage the .NET framework as a reversion to MS's VB
runtime DLL that contains a PCode interpreter (and I suspect elements
of a JIT compiler)

Not a bad design, especially for portability, but not the original
Delphi concept.
.



Relevant Pages

  • Screen flash when using cl.exe
    ... same bug exists with Microsoft's cl.exe compiler. ... I request that it be replaced with CreateProcess. ... When Windows starts a subprocess, it will try and attach it to a console unless ...
    (microsoft.public.dotnet.languages.vc)
  • Re: Screen flash when using cl.exe
    ... PS This problem exists with the Visual C++ .NET 2003 compiler. ... > When Windows starts a subprocess, it will try and attach it to a console ... Then I modified the first application to use CreateProcess ...
    (microsoft.public.dotnet.languages.vc)
  • Re: CreateProcessAsUser - Process starts then exits
    ... Windows XP Media Center ... public Int32 dwX; ... public IntPtr lpReserved2; ... parent's console. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: CreateProcessAsUser - Process starts then exits
    ... service most likely runs in a separate invisible session. ... the program I was trying to start was a windows forms app I ... public IntPtr lpReserved2; ... parent's console. ...
    (microsoft.public.win32.programmer.kernel)
  • Novell Client login form enables reading and writing from and to the clipboard of the logged-in
    ... Novell Client for Windows, ... Anyone with access to the computer's local operating system console, ... inject its own textual content into the clipboard of the currently logged-in ...
    (Bugtraq)