Deutsch   English   Français   Italiano  
<v3etlq$2o0sh$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bart <bc@freeuk.com>
Newsgroups: comp.lang.c
Subject: Re: C23 thoughts and opinions
Date: Sat, 1 Jun 2024 11:37:45 +0100
Organization: A noiseless patient Spider
Lines: 57
Message-ID: <v3etlq$2o0sh$1@dont-email.me>
References: <v2l828$18v7f$1@dont-email.me>
 <00297443-2fee-48d4-81a0-9ff6ae6481e4@gmail.com>
 <v2lji1$1bbcp$1@dont-email.me> <87msoh5uh6.fsf@nosuchdomain.example.com>
 <f08d2c9f-5c2e-495d-b0bd-3f71bd301432@gmail.com>
 <v2nbp4$1o9h6$1@dont-email.me> <v2ng4n$1p3o2$1@dont-email.me>
 <87y18047jk.fsf@nosuchdomain.example.com>
 <87msoe1xxo.fsf@nosuchdomain.example.com> <v2sh19$2rle2$2@dont-email.me>
 <87ikz11osy.fsf@nosuchdomain.example.com> <v2v59g$3cr0f$1@dont-email.me>
 <v30l15$3mcj6$1@dont-email.me> <v30lls$3mepf$1@dont-email.me>
 <v30sai$3rilf$1@dont-email.me> <v320am$1km5$1@dont-email.me>
 <v33ggr$e0ph$1@dont-email.me> <v34bne$i85p$1@dont-email.me>
 <v3758s$14hfp$1@raubtier-asyl.eternal-september.org>
 <v38of2$1gsj2$1@dont-email.me> <v39v87$1n7bk$1@dont-email.me>
 <v3du4s$2febh$3@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 01 Jun 2024 12:37:46 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="91ec5d79126354b953c01cb00293891d";
	logging-data="2884497"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18HL4bi/RBR8Sacv9ooJAUX"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:vDfxaGxAeVdmZiGINpQXwR+mBhE=
Content-Language: en-GB
In-Reply-To: <v3du4s$2febh$3@dont-email.me>
Bytes: 3691

On 01/06/2024 02:39, Lawrence D'Oliveiro wrote:
> On Thu, 30 May 2024 14:34:00 +0100, bart wrote:
> 
>> On 30/05/2024 03:32, Lawrence D'Oliveiro wrote:
>>
>>> On Wed, 29 May 2024 13:58:20 +0200, Bonita Montero wrote:
>>>
>>>> I've got a small commandline-tool that makes a const'd char -array
>>>> from any binary file.
>>>
>>> It seems to me it would be more efficient to use objcopy to turn that
>>> binary file directly into an object file with symbols accessible from C
>>> code defining its beginning and ending points. Then just link it into
>>> the executable.
>>
>> None of my compilers, whether for C or anything else, generate object
>> files.
> 
> That’s too bad. All the good compilers, for languages like C and others
> which are meant to execute efficiently, do.

What do you mean by 'are meant to execute efficiently'? Is that 
build-time or run-time of the resulting program?

In the latter case, whether it uses object files is irrevant.

For build-time, pointlessly generating a discrete object file will slow 
things down.

My compilers don't routinely generate object files, which would also 
need an external dependency (a linker), but they can do if necessary 
(eg. to statically link my code into another program with another compiler).

The compiler for my main language is a whole-program one. If it were to 
create an object file, it would be a single file; there would be no 
others to link to!

And here, makefiles also assume independent compilation of modules.

So it is makefiles that appear to be holding back advancement in this 
area, by requiring traditional module-at-a-time building, and requiring 
object file intermediates.

   C:\qx52>mm -obj qq
   Compiling qq.m to qq.obj

   C:\qx52>dir qq.obj
   01/06/2024  11:34           787,788 qq.obj

   C:\qx52>gcc qq.obj -oqq            # 'link'

   C:\qx52>qq
   Q5.2 Interpreter
   Usage:
           qq filename[.q]