| Deutsch English Français Italiano |
|
<vir6an$3hjd9$2@paganini.bofh.team> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!weretis.net!feeder8.news.weretis.net!newsfeed.bofh.team!paganini.bofh.team!not-for-mail
From: antispam@fricas.org (Waldek Hebisch)
Newsgroups: comp.lang.c
Subject: Re: question about linker
Date: Thu, 5 Dec 2024 03:23:05 -0000 (UTC)
Organization: To protect and to server
Message-ID: <vir6an$3hjd9$2@paganini.bofh.team>
References: <vi54e9$3ie0o$1@dont-email.me> <vicque$15ium$2@dont-email.me> <vid110$16hte$1@dont-email.me> <87mshhsrr0.fsf@nosuchdomain.example.com> <vidd2a$18k9j$1@dont-email.me> <8734j9sj0f.fsf@nosuchdomain.example.com> <vidnp3$1ovvm$2@paganini.bofh.team> <vihpjh$2hgg1$1@dont-email.me> <vihrh1$2hk5l$1@dont-email.me> <vii0jp$2jkd9$1@dont-email.me> <viifv8$2opi7$1@dont-email.me> <vik28b$390eg$1@dont-email.me> <vik8tc$3ang9$1@dont-email.me> <viphuv$37ejl$1@paganini.bofh.team> <vipthe$umjj$2@dont-email.me>
Injection-Date: Thu, 5 Dec 2024 03:23:05 -0000 (UTC)
Injection-Info: paganini.bofh.team; logging-data="3722665"; posting-host="WwiNTD3IIceGeoS5hCc4+A.user.paganini.bofh.team"; mail-complaints-to="usenet@bofh.team"; posting-account="9dIQLXBM7WM9KzA+yjdR4A";
User-Agent: tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.1.0-9-amd64 (x86_64))
X-Notice: Filtered by postfilter v. 0.9.3
Bytes: 2842
Lines: 35
Bart <bc@freeuk.com> wrote:
> On 04/12/2024 12:29, Waldek Hebisch wrote:
>> Bart <bc@freeuk.com> wrote:
>>> You've never used my scheme.
>>
>> Your scheme, not. But you should understand that when speaking
>> about module systems C is an outlier, having almost no support
>> for modules. Some languages, like C++ and Lisp go half way,
>> providing namespaces but rest is up to programmer. Other do
>> more. By now classis is _logical_ separation into interface
>> and implementation, which seem to be absent from your system.
>
> It is there, but at a different boundary.
>
> My language is intended for whole program compilation. There are no
> interfaces between modules (that is, a file listing the exports of a
> module, separately from the implementation).
I wrote about _logical_ separation. Oberon puts module in a single
files, IIRC declarations of exporeded things just have stars before.
So the is only tiny overhead in terms of extra charaters, but logical
separation is there.
> Because the compiler can see (and will compile) the actual implementation
>
> Such interface files exist between programs, which usually means between
> a main program and the libraries it uses, which are generally
> dynamically loaded.
In other words, you only support modularization at library level,
more or less what C is doing (using either compiler extentions or
external tools one can control what is exported from shared libraries
build from C files).
--
Waldek Hebisch