Effects of switching between /SUBSYSTEM:CONSOLE to /SUBSYSTEM:WINDOWS in a DLL

前端 未结 2 1983
野趣味
野趣味 2021-01-04 05:58

I couldn\'t find anything useful on the MSDN for this case. Using Dependency Walker, in the module list, I see a mixed usage of Console and GUI.

Does this have an im

2条回答
  •  挽巷
    挽巷 (楼主)
    2021-01-04 06:34

    This option only has an effect on applications (exe), not on libraries(dll).

    Its documentation says:

    The /SUBSYSTEM option specifies the environment for the executable.

    The choice of subsystem affects the entry point symbol (or entry point function) that the linker will select.

    This does not affect libraries, which have their own (optional) entry point.

    Additional information following CyberShadow's comment: The subsystem field itself seems to be ignored when a DLL is loaded. This article about CSRSS says (emphasis mine):

    Furthermore, each process is associated with one, certain subsystem; this property is being set by the linker (during the compilation process), and resides in the following PE structure field: [...]

提交回复
热议问题