Sujet : Re: Running an editor from ANSI C
De : jameskuyper (at) *nospam* alumni.caltech.edu (James Kuyper)
Groupes : comp.lang.cDate : 08. Jun 2024, 06:40:48
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v40qt1$2fuud$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12
User-Agent : Mozilla Thunderbird
On 6/7/24 19:59, Lawrence D'Oliveiro wrote:
On Fri, 7 Jun 2024 09:32:26 -0400, James Kuyper wrote:
On 6/7/24 06:46, Lawrence D'Oliveiro wrote:
>
On Fri, 7 Jun 2024 11:31:01 +0200, David Brown wrote:
>
But many people have lots of use of programming in C without any kind
of POSIX functionality ...
>
And all those same programs work in the presence of POSIX
functionality,
>
Even those that rely upon some other operating system's corresponding
functionality instead?
If it really was “corresponding”, then it would already be available via
some POSIX-compatible wrapper for that OS.
I didn't mean that kind of "corresponding". It might correspond only in
the sense that it serves a similar purpose - but does so in a very
different way. That doesn't necessarily make a fully POSIX compatible
wrapper impossible (though it might be), but it does mean that even if
such wrappers do exist, they might suffer serious disadvantages compared
to making direct calls to operation-system specific functions that
aren't POSIX compatible. When that is the case, it's very likely that
the code was not written to use such wrappers.
... POSIX is not the be-all and end-all of operating systems.
You’re right. It’s not. Linux is.
I've been programming on Unix-like operating systems for more than 30
years, and most of that time was on Linux systems, but even I'm not
foolish enough to make such a claim for Linux. The last few years before
I retired I worked on Windows systems doing maintenance on huge code
bases that were required to work on both Windows and Linux systems. They
didn't do so by being written to use only POSIX functionality, and rely
upon POSIX-compatible wrappers on to work on Windows systems. They
relied upon non-POSIX functions that did different things on POSIX and
Windows systems. The code was built quite differently on the two
operating systems - CMake was involved. I don't know a lot of the
details of how all of that worked, my assigned tasks kept me far away
from that part of the code - but I was aware of the complications that
it caused for building the software.