Re: Delphi to take advantage of multiple threads within the compiler>



Arthur,

> I have been using a tool called "stripreloc" for years - it removes all
> relocation info from executables and makes them much smaller. It has
> never caused any problems. Is the paragraph above just a piece of
> nonsense? Does it *ever* happen, that Windows must relocate an executable?
> I recall that Windows opens 32-bit linear executables as memory-mapped
> files and directly maps them into code space!

Only dlls need to be rebased; Since the .exe is the first module that gets
loaded, there's nothing from keeping it getting loaded in it's "preferred"
default location. dlls frequently need to be rebased (unless they have been
optimized for a particular executable) since the exact layout of all other
dlls might not be available when building the dll, so it's next to
impossible to build a dll that has a default base address that will /never/
conflict with any of the other dlls that get loaded in a process.

Chances are you only used StripReloc on .exe files, which in practice is
just fine (although, iirc, it's not officially guaranteed that it is); if
you ever StripReloc a dll, you will probably have problems ;)


--
marc hoffman
Chief Architect, .NET
RemObjects Software
http://www.chromesville.com

and the fifty-two daughters of the revolution
turn the gold to chrome


.



Relevant Pages

  • Re: binmod.exe, NK.bin files and other beginner questions
    ... I never even heard about Platform Builder ... my main concern is over the added executables and dlls ... having to rewrite the entire application (which consists of about a ...
    (microsoft.public.windowsce.embedded)
  • Re: Loading an application (with .DLLs) into memory for later use
    ... As I've always learned it, loaded binaries are just memory-mapped files, which means that Windows can choose to discard pages and page them in as needed. ... I don't know whether the loader can detect executables being launched from removable drives to take special action, but I'd assume it doesn't, certainly not on all versions of Windows. ... Paging can happen even if the application imports no further DLLs. ...
    (microsoft.public.dotnet.general)
  • Re: Visual Studio 2005 problems.. "...the application configuration is incorrect..."
    ... You have to embed the manifest in your executable... ... C-runtime DLLs in your application's local folder. ... > Is anyone using Visual Studio 2005, and has anyone been able to ... > successfully transfer executables to their WinXP embedded images? ...
    (microsoft.public.windowsxp.embedded)
  • Re: py2exe 0.6.1 released
    ... > * py2exe can now bundle binary extensions and dlls into the ... > finally build real single-file executables. ... > The bundled dlls and pyds are loaded at runtime by some special ...
    (comp.lang.python)
  • Re: Editors
    ... >> For DLL Data only. ... Some include relocation info into all kinds ... executables which export addresses, but these were still the first PE ... >loaded or unloaded by an app, as well when a new thread within that app is ...
    (alt.lang.asm)