Sujet : Re: Python recompile
De : 643-408-1753 (at) *nospam* kylheku.com (Kaz Kylheku)
Groupes : comp.lang.cDate : 09. Mar 2025, 19:00:26
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20250309105459.231@kylheku.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
User-Agent : slrn/pre1.0.4-9 (Linux)
On 2025-03-08, Michael S <
already5chosen@yahoo.com> wrote:
Cygwin is clever. They managed to get poll/select working on pipes,
which is something Microsoft still cannot manage on native Windows.
>
cygwin is very slow.
Cygwin as a whole isn't slow, but it has slow filesystem namespace
access. Such is life. There are reasons for it and it's not easy to fix.
For instance, there are situations in Windows in which a file foo.exe
and foo must be considered the same file. Or foo.lnk and foo.
Cygwin has to be on the lookout for these situations. That's the
30 second summary.
And user interface is significantly inferior
relatively to msys2/mingw64. Or at least it was in 2018 which happens
to be the version of cygwin that I am using regularly as part of
Altera/Intel Nios2 SDK.
For me the speed and UI convinience are far more important than better
emulation of obscure POSIX features which is probably important only
for programs that I would not want to run regardless.
Almost any/every program you'd ever port to Windows with MinGW64
is going to be a POSIX program, which will get a better, more detailed
treatment under Cygwin.
For instance programs which use POSIX termios to put the terminal into
raw mode and use ANSI escape sequences to control the console compile
and run under Cygwin. That's like anything which uses a line editing
library like Libedit or Linenoise.
Cygwin also has a little known secret weapon: the Cygnal project;
check my signature.
With Cygnal you can compile programs on Cygwin in the normal way and
then deploy them as native applications which work with normal Windows
paths and drive letters, use a normal semicolon-separated PATH variable,
have a HOME variable that points to your Windows user profile, and popen
and system functions that use cmd.exe not /bin/sh ...
Yet all the POSIX stuff is there.
All you do is bundle your executable with cygwin1.dll from
Cygnal rather than the cygwin1.dll from your Cygwin.
-- TXR Programming Language: http://nongnu.org/txrCygnal: Cygwin Native Application Library: http://kylheku.com/cygnalMastodon: @Kazinator@mstdn.ca