libc dependency

H. S. Teoh via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jun 19 16:47:12 PDT 2017


On Mon, Jun 19, 2017 at 07:29:46PM -0400, Steven Schveighoffer via Digitalmars-d-learn wrote:
> On 6/19/17 5:45 PM, Moritz Maxeiner wrote:
> > On Monday, 19 June 2017 at 21:35:56 UTC, Steven Schveighoffer wrote:
> > > IIRC, Tango did not depend on libc at all. It only used system
> > > calls. So it certainly is possible.
> > 
> > How did they invoke those system calls? They are usually access via
> > libc on POSIX systems, so you don't have to implement accessing e.g.
> > vdso on Linux yourself.
> 
> I may have misspoke. I mean they didn't depend on the library itself.
> I think they do depend on the C wrappers.
> 
> So for instance, they didn't use FILE *, but instead used
> read/write/recv/send.
> 
> I don't know what's involved in creating those wrappers, but I can't
> imagine it's difficult to do with D (it's probably actually easier
> than in C/assembly).
[...]

The downside of that is that then we can no longer leverage the work
done by libc authors to interface with that particular OS / platform.
Meaning we have to maintain this low-level code ourselves, which
includes potentially keeping up with OS-level changes that would
otherwise be transparent had we used the libc wrappers. Sadly, we're not
yet in the day when libd authors would do this for us with every new OS
that comes out. :-D


T

-- 
Talk is cheap. Whining is actually free. -- Lars Wirzenius


More information about the Digitalmars-d-learn mailing list