Sujet : Re: What programs do you make sure are installed on a new Linux
De : invalid (at) *nospam* invalid.invalid (Richard Kettlewell)
Groupes : comp.os.linux.miscDate : 16. Jul 2024, 22:09:52
Autres entêtes
Organisation : terraraq NNTP server
Message-ID : <wwvy1612j5b.fsf@LkoBDZeT.terraraq.uk>
References : 1 2 3 4
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Borax Man <
rotflol2@hotmail.com> writes:
On 2024-07-15, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Sun, 14 Jul 2024 22:38 +0100 (BST), John Dallman wrote:
ldo@nz.invalid (Lawrence D'Oliveiro) wrote:
But it is fundamental in Windows, is it not, that every process has
a GUI. Unless it is a _service_, which runs in the background, and
is managed separately.
No, it is not. "Console applications" run with stdin, stdout & stderr,
rather like traditional Unix programs. They can also have character
graphics UIs, in terminal windows.
>
So why do Python scripts, for example, have to come in two varieties on
Windows, with different extensions “.PY” versus “.PYW”?
>
Windows definately does do "console" applications. What is missing, is
the ability to run a console application without the GUI running itself,
but the standard C "Hello world" program does run on Windows
I’m not sure what you mean by “the GUI running itself”. Windows
executables either use the CUI (console) or GUI subsystem, and this is
represented by a field in the PE file header, rather than being a
behavior of the application after it starts.
CUI subsystem applications always run within a console, either inherited
from the parent process, or created automatically if there isn’t one to
inherit. GUI subsystem applications don’t normally get one (but can
create one). Presumably a GUI subsystem application doesn’t have to open
any Window at all if it doesn’t want to.
In Python the .py vs .pyw distinction presumably allows file
associations to a CUI subsystem version of the interpreter and a GUI
subsystem version of the interpreter.
References:
*
https://devblogs.microsoft.com/oldnewthing/20090101-00/?p=19643*
https://learn.microsoft.com/en-us/windows/console/creation-of-a-console*
https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header32-- https://www.greenend.org.uk/rjk/