PE header and LARGEADDRESSAWARE not evaluated for DLL modules?

There is a flag in the PE header indicating whether the binary file is LargeAddressAware or not.
The PE header itself exists for both: * .exe and * .dll.

Does Windows really evaluate this flag for the parent executable, only? Is this completely ignored for all DLL modules?

So why should I enable the LAA linker flag for the DLL if no one is evaluating it?

I meant the following:
Is there a way to force Windows to issue a warning if the LAA allows exe to load a module that is not compiled as LAA?

Also see the related question: Disadvantages of using / LARGEADDRESSAWARE for 32-bit Windows executables?

+4
source share
1 answer

Does Windows really evaluate this flag for the parent executable, only?

Yes.

Is this completely ignored for all DLL modules?

Yes.

So why should I enable the LAA linker flag for the DLL if no one is evaluating it?

You should not. It's pointless.

I had the following: Is there a way to get Windows to issue a warning if LAA allows exe to load a module that is not compiled as LAA?

No. No.


, - . . LAA, . , . PE , DLL EXE. EXE.

+4

Source: https://habr.com/ru/post/1536257/


All Articles