Path: ...!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: bart Newsgroups: comp.lang.c Subject: Re: Writing own source disk Date: Wed, 5 Jun 2024 09:23:21 +0100 Organization: A noiseless patient Spider Lines: 47 Message-ID: References: <87sexvm1lr.fsf@bsb.me.uk> <875xuqmdjn.fsf@bsb.me.uk> <87y17kkerb.fsf@bsb.me.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 05 Jun 2024 10:23:20 +0200 (CEST) Injection-Info: dont-email.me; posting-host="909035f5e7ec8bde29f1c655af0422db"; logging-data="947072"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ypHuv+Hn632wrfGZBLrvF" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:sKsuPFtYwMcz74hc1VtHaE7rRGc= In-Reply-To: Content-Language: en-GB Bytes: 3139 On 05/06/2024 09:13, Mikko wrote: > On 2024-06-04 19:57:31 +0000, bart said: > >> On 04/06/2024 14:40, Ben Bacarisse wrote: >>> Malcolm McLean writes: >>> >>>> On 03/06/2024 13:11, Ben Bacarisse wrote: >> >>>> But from a practical point of view, yes my quine is  massively >>>> powerful. Most graphical programs do have images as source. And they >>>> just >>>> get zipped up into the FileSystem XML file. So any binary data can be >>>> included. Easily, Using exactly the same system. >>> >>> I'm not getting it.  Why do I want a quine in connection to a graphical >>> program?  I want a way to include everything in the distribution, but >>> we've had that for ages.  Why is having a program that outputs something >>> you already have (by defintion!) of any use? >>> >> >> >> My C compiler embeds the the standard headers it uses within the >> executable. That makes for a tidy, run-anywhere application as it is a >> single file. > > There are not run-anywhere applications. Each computer only runs > applications that are written in a language that it understands. > Many computers only understand one language and no language is > understood by every computer. > I mean run anywhere within a computer's file system: any folder, any drive, any memory stick. For a run-anywhere cross-platform version of my C compiler, I can supply a single .c file instead of .exe file. Then it'll need a local build process in order to produce a suitable binary. (But since it still targets Win64 ABI, that is not so useful for that application.) Alternately I can supply a IL (intermediate language) version, which can be cross-platform with an interpreter. Then you will need a suitable interpreter, so it's back to square one, however the interpreter is a 1/4 the size of the compiler, and it will also run multiple different applications once ported.