Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #147555

Re: memcpy not memcpying?

From Manfred <noname@add.invalid>
Newsgroups comp.lang.c
Subject Re: memcpy not memcpying?
Date 2019-11-03 22:57 +0100
Organization Aioe.org NNTP Server
Message-ID <qpnigq$evh$1@gioia.aioe.org> (permalink)
References (15 earlier) <1BAvF.13970$mB7.12243@fx32.am4> <qpn0a2$dn3$1@dont-email.me> <%%DvF.115593$Yl3.480@fx24.am4> <qpn76m$mt6$1@gioia.aioe.org> <2%FvF.74371$NI41.27093@fx12.am4>

Show all headers | View raw


On 11/3/2019 8:36 PM, Bart wrote:
> On 03/11/2019 18:44, Manfred wrote:
>> On 11/3/2019 6:20 PM, Bart wrote:
> 
>>> The "%?" suggestion works with all of these when the type is numeric, 
>>> and in many cases also when the type is a pointer or string.
>>
>> If I understand it correctly (unless you are suggesting that the 
>> compiler would modify the format string),
> 
> Yes, this requires the compiler modifying the string. Since the compiler 
> will always know the exact types being printed, it is in the best 
> position to know the default format codes needed.
> 
> But it can only do this when (a) the format string is visible (ie. a 
> string constant) and (b) when directly calling a *printf function.

More importantly it would be a major break of how the language handles 
strings (and data in general): when the programmer writes "abc" this 
translates into a specific data layout in memory which has a direct 
correlation with the source code. If the compiler were to modify it 
(including changing its length) this correlation would be broken.

> 
> 
>> this would require runtime type handling (and in fact several 
>> interpreted languages do something very similar today), which may work 
>> well with your interpreted language, but not in C.
> 
> Non-interpreted languages are also capable of printing without needing 
> to tell the compiler what it already knows. At least the ones that 
> haven't inherited C's printf.
> 
> Apart from C, I've only known Fortran have that requirement, and that 
> dates from the 1950s. I'd been coding for over 15 years before I came 
> across C's funny way of printing.

The main difference is that in Fortran PRINT is a /statement/, while in 
C printf is a /function/.
Being a statement, the Fortran compiler is allowed to interpret the 
PRINT code anyhow it wishes, and generate the appropriate instructions.

C does not have formatting capabilities built in the language, it needs 
to delegate to runtime code, with this result (i.e. type information is 
lost when arguments are passed to a variadic function, so some 
gymnastics by the programmer is needed).

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

memcpy not memcpying? DFS <nospam@dfs.com> - 2019-11-01 08:42 -0400
  Re: memcpy not memcpying? DFS <nospam@dfs.com> - 2019-11-01 08:49 -0400
    Re: memcpy not memcpying? James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-01 09:24 -0400
      Re: memcpy not memcpying? DFS <nospam@dfs.com> - 2019-11-01 09:46 -0400
        Re: memcpy not memcpying? James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-01 09:49 -0400
        Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-01 10:19 -0700
          Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-01 21:14 +0100
          Re: memcpy not memcpying? DFS <nospam@dfs.com> - 2019-11-01 17:16 -0400
            Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-01 22:42 +0000
              Re: memcpy not memcpying? Richard Damon <Richard@Damon-Family.org> - 2019-11-01 21:10 -0400
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-02 11:36 +0000
            Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-02 02:15 -0700
            Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-02 13:04 +0100
              Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-02 13:43 +0000
                Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-02 17:24 +0100
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-02 17:00 +0000
                Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-02 13:06 -0700
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-02 21:05 +0000
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-02 22:40 +0000
                Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-02 15:59 -0700
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-02 23:47 +0000
                Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-02 18:22 -0700
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-03 13:27 +0000
                Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-03 17:46 +0100
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-03 17:20 +0000
                Re: memcpy not memcpying? Manfred <noname@add.invalid> - 2019-11-03 19:44 +0100
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-03 19:36 +0000
                Re: memcpy not memcpying? Manfred <noname@add.invalid> - 2019-11-03 22:57 +0100
                Re: memcpy not memcpying? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-03 22:39 +0000
                Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-03 23:06 +0100
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-03 23:28 +0000
                Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-04 11:00 +0100
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-04 11:14 +0000
                Re: memcpy not memcpying? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-04 11:22 +0000
                Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-04 13:10 +0100
                Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-04 10:03 -0800
                Re: memcpy not memcpying? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-04 19:36 +0000
                Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-05 10:04 -0800
                Re: memcpy not memcpying? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-11-04 20:58 -0800
                Re: memcpy not memcpying? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-11-04 22:01 -0800
                Re: memcpy not memcpying? Autist <autist69@gmail.com> - 2019-11-04 12:56 +0100
                Re: memcpy not memcpying? James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-04 09:50 -0500
                Re: memcpy not memcpying? scott@slp53.sl.home (Scott Lurndal) - 2019-11-04 20:26 +0000
                Re: memcpy not memcpying? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-11-04 04:34 -0800
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-04 13:05 +0000
                Re: memcpy not memcpying? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-04 14:09 +0000
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-04 15:11 +0000
                Re: memcpy not memcpying? Melzzzzz <Melzzzzz@zzzzz.com> - 2019-11-04 15:15 +0000
                Re: memcpy not memcpying? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-04 15:43 +0000
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-03 20:20 +0000
                Re: memcpy not memcpying? Ian Collins <ian-news@hotmail.com> - 2019-11-03 14:37 +1300
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-03 11:01 +0000
                Re: memcpy not memcpying? Öö Tiib <ootiib@hot.ee> - 2019-11-03 04:03 -0800
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-03 12:52 +0000
                Re: memcpy not memcpying? Öö Tiib <ootiib@hot.ee> - 2019-11-03 23:34 -0800
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-04 09:36 +0000
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-04 16:20 +0000
                Re: memcpy not memcpying? Ian Collins <ian-news@hotmail.com> - 2019-11-04 07:46 +1300
                Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-03 12:26 -0800
                Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-03 17:31 +0100
                Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-03 17:05 +0000
              Re: memcpy not memcpying? already5chosen@yahoo.com - 2019-11-03 09:14 -0800
                Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-03 12:32 -0800
                Re: memcpy not memcpying? already5chosen@yahoo.com - 2019-11-03 14:59 -0800
                Re: memcpy not memcpying? already5chosen@yahoo.com - 2019-11-03 15:19 -0800
                Re: memcpy not memcpying? already5chosen@yahoo.com - 2019-11-03 17:00 -0800
          Re: memcpy not memcpying? DFS <nospam@dfs.com> - 2019-11-02 11:16 -0400
            Re: memcpy not memcpying? David Brown <david.brown@hesbynett.no> - 2019-11-02 17:26 +0100
    Re: memcpy not memcpying? Barry Schwarz <schwarzb@delq.com> - 2019-11-01 06:39 -0700
      Re: memcpy not memcpying? DFS <nospam@dfs.com> - 2019-11-01 09:56 -0400
        Re: memcpy not memcpying? Barry Schwarz <schwarzb@delq.com> - 2019-11-01 12:39 -0700
    Re: memcpy not memcpying? guinness.tony@gmail.com - 2019-11-01 06:49 -0700
    Re: memcpy not memcpying? jak <nospam@please.ty> - 2019-11-01 20:40 +0100
  Re: memcpy not memcpying? Autist <autist69@gmail.com> - 2019-11-01 14:26 +0100
    Re: memcpy not memcpying? Keith Thompson <kst-u@mib.org> - 2019-11-01 10:22 -0700
    Re: memcpy not memcpying? Bart <bc@freeuk.com> - 2019-11-01 19:44 +0000
      Re: memcpy not memcpying? Autist <autist69@gmail.com> - 2019-11-01 21:31 +0100
  Re: memcpy not memcpying? James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-01 09:39 -0400
    Re: memcpy not memcpying? Autist <autist69@gmail.com> - 2019-11-01 14:42 +0100
      Re: memcpy not memcpying? James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-01 09:48 -0400
  Re: memcpy not memcpying? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2019-11-01 06:47 -0700
    Re: memcpy not memcpying? Autist <autist69@gmail.com> - 2019-11-01 14:58 +0100
      Re: memcpy not memcpying? DFS <nospam@dfs.com> - 2019-11-01 10:22 -0400
        Re: memcpy not memcpying? Autist <autist69@gmail.com> - 2019-11-01 18:38 +0100
          Re: memcpy not memcpying? scott@slp53.sl.home (Scott Lurndal) - 2019-11-01 17:54 +0000
            Re: memcpy not memcpying? Autist <autist69@gmail.com> - 2019-11-01 20:24 +0100
          Re: memcpy not memcpying? DFS <nospam@dfs.com> - 2019-11-01 15:24 -0400
        Re: memcpy not memcpying? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-01 23:19 +0000

csiph-web