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


Groups > comp.lang.c > #76244

Re: Objective C

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.lang.c
Subject Re: Objective C
Date 2015-11-17 16:41 +0100
Organization A noiseless patient Spider
Message-ID <n2fhmo$vpi$1@dont-email.me> (permalink)
References (7 earlier) <d692da84-f162-4273-9cbd-a9a543c35869@googlegroups.com> <n2c2ut$o6n$1@dont-email.me> <fff2ac89-757c-4d72-8307-9f48cd8327a6@googlegroups.com> <n2ero5$e51$1@dont-email.me> <1837148f-594b-4ffa-a0f3-bdce65277f5f@googlegroups.com>

Show all headers | View raw


On 17/11/15 15:20, supercat@casperkitty.com wrote:

> On a lot of small-system compilers, memcpy is horribly inefficient.

And on a lot of systems, it is very efficient - because the compiler
will optimise it inline, using all the information available about
alignment, etc.  And for more limited compilers, there is no problem
anyway because they don't do much optimisation.  You can't have it both
ways.

> Besides, in C99 memcpy() can apply the effective type of the source to the
> destination, so
> 
>     void *p1 = malloc(4), *p2=malloc(4);
>     *((float*)p1) = 12.34;
>     memcpy(p2,p1,4);
>     int q=*((int*)p2);
> 
> would still yield UB.
> 

Code like that fails any sort of code review.  I really don't /care/ if
the compiler sees that as undefined behaviour or not - the code is /wrong/.

Write your code sensibly, using proper types and proper code structure.
 Here's a hint to get you started - if you are using void* explicitly,
or casting your pointer types, your code is probably bad or at least
warrants special care.

(That's enough of this nonsense for me.  I am happy writing code that
has defined behaviour and works efficiently and correctly.  I don't need
to concern myself about hypothetical function specifications, badly
structured programs, and paranoia.)

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


Thread

Objective C Alla _ <modelling.data@gmail.com> - 2015-11-10 09:10 -0800
  Re: Objective C "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-11-10 09:16 -0800
  Re: Objective C Richard Heathfield <rjh@cpax.org.uk> - 2015-11-10 17:17 +0000
  Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-10 09:32 -0800
    Re: Objective C Mark Storkamp <mstorkamp@yahoo.com> - 2015-11-10 11:38 -0600
  Re: Objective C James Kuyper <jameskuyper@verizon.net> - 2015-11-10 12:36 -0500
    Re: Objective C Alla _ <modelling.data@gmail.com> - 2015-11-10 11:15 -0800
      Re: Objective C Richard Heathfield <rjh@cpax.org.uk> - 2015-11-10 21:51 +0000
        Re: Objective C Alla _ <modelling.data@gmail.com> - 2015-11-10 23:13 -0800
      Re: Objective C supercat@casperkitty.com - 2015-11-13 16:01 -0800
        Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-14 01:07 +0000
          Re: Objective C supercat@casperkitty.com - 2015-11-14 06:26 -0800
            Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-14 22:22 +0000
              Re: Objective C supercat@casperkitty.com - 2015-11-14 15:46 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-15 01:47 +0000
                Re: Objective C BartC <bc@freeuk.com> - 2015-11-15 10:43 +0000
                Re: Objective C supercat@casperkitty.com - 2015-11-15 13:19 -0800
            Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-14 15:43 -0800
            Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-15 23:50 +0100
              Re: Objective C gazelle@shell.xmission.com (Kenny McCormack) - 2015-11-16 00:05 +0000
              Re: Objective C supercat@casperkitty.com - 2015-11-15 19:10 -0800
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-16 09:11 +0100
                Re: Objective C supercat@casperkitty.com - 2015-11-16 11:57 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-16 20:38 +0000
                Re: Objective C supercat@casperkitty.com - 2015-11-16 13:20 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-16 22:28 +0000
                Re: Objective C supercat@casperkitty.com - 2015-11-16 15:33 -0800
                Re: Objective C supercat@casperkitty.com - 2015-11-16 15:56 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-17 01:43 +0000
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-17 01:21 +0000
                Re: Objective C supercat@casperkitty.com - 2015-11-16 18:11 -0800
                Re: Objective C supercat@casperkitty.com - 2015-11-16 20:12 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-19 00:59 +0000
                Re: Objective C supercat@casperkitty.com - 2015-11-18 22:46 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-19 14:25 +0000
                Re: Objective C supercat@casperkitty.com - 2015-11-19 07:58 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-19 22:13 +0000
                Re: Objective C supercat@casperkitty.com - 2015-11-19 15:29 -0800
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-27 08:44 -0800
                Re: Objective C glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-11-17 01:26 +0000
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-16 21:48 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-16 20:27 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-17 13:58 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-17 12:28 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-18 13:00 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-18 12:31 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-18 16:43 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-18 15:57 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-19 19:09 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-19 19:05 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-20 15:00 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-20 15:30 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-22 17:11 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-22 15:53 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-23 13:51 -0600
                Re: Objective C raltbos@xs4all.nl (Richard Bos) - 2015-11-24 12:00 +0000
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-17 10:26 +0100
                Re: Objective C supercat@casperkitty.com - 2015-11-17 06:20 -0800
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-17 16:41 +0100
                Re: Objective C supercat@casperkitty.com - 2015-11-17 12:08 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-17 16:27 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-17 14:55 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-18 13:59 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-18 13:06 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-24 14:24 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-24 15:11 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-26 17:02 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-27 07:26 -0800
                Re: Objective C supercat@casperkitty.com - 2015-11-18 21:56 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-22 02:17 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-22 07:16 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-26 17:11 -0600
                Re: Objective C Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-11-22 19:09 +0000
                Re: Objective C Robert Wessel <robertwessel2@yahoo.com> - 2015-11-17 23:28 -0600
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-18 15:33 +0100
                Re: Objective C supercat@casperkitty.com - 2015-11-18 23:06 -0800
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-19 09:12 +0100
                Re: Objective C supercat@casperkitty.com - 2015-11-19 09:25 -0800
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-19 21:06 +0100
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-20 13:49 -0800
                Re: Objective C Robert Wessel <robertwessel2@yahoo.com> - 2015-11-21 05:01 -0600
                Re: Objective C Robert Wessel <robertwessel2@yahoo.com> - 2015-11-21 05:09 -0600
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-21 03:31 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-21 17:43 -0600
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-21 16:00 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-22 01:12 -0600
                Re: Objective C raltbos@xs4all.nl (Richard Bos) - 2015-11-27 16:42 +0000
                Re: Objective C James Kuyper <jameskuyper@verizon.net> - 2015-11-27 12:38 -0500
                Re: Objective C supercat@casperkitty.com - 2015-11-27 11:09 -0800
                Re: Objective C James Kuyper <jameskuyper@verizon.net> - 2015-11-21 19:06 -0500
                Re: Objective C supercat@casperkitty.com - 2015-11-21 17:00 -0800
                Re: Objective C glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-11-22 14:44 +0000
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-22 01:55 -0600
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-22 00:03 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-22 10:18 +0000
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-23 03:21 -0800
                Re: Objective C James Kuyper <jameskuyper@verizon.net> - 2015-11-22 10:53 -0500
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-22 20:28 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-22 18:52 -0800
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-23 11:58 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-23 15:24 -0800
                Re: Objective C James Kuyper <jameskuyper@verizon.net> - 2015-11-23 09:46 -0500
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-23 08:13 -0800
                Re: Objective C James Kuyper <jameskuyper@verizon.net> - 2015-11-23 12:04 -0500
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-23 11:52 -0600
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-23 16:05 -0800
                Re: Objective C supercat@casperkitty.com - 2015-11-24 09:09 -0800
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-12-08 08:48 -0800
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-12-08 10:40 -0800
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-12-09 12:34 -0800
                Re: Objective C supercat@casperkitty.com - 2015-12-08 10:50 -0800
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-12-09 12:42 -0800
                Re: Objective C supercat@casperkitty.com - 2015-12-09 13:38 -0800
                Re: Objective C raltbos@xs4all.nl (Richard Bos) - 2015-12-10 19:54 +0000
                Re: Objective C David Thompson <dave.thompson2@verizon.net> - 2015-12-06 08:02 -0500
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-22 14:36 -0800
                Re: Objective C Robert Wessel <robertwessel2@yahoo.com> - 2015-11-23 00:41 -0600
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-23 07:39 -0800
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-22 14:23 -0800
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-17 10:24 -0800
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-18 15:40 +0100
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-20 16:02 -0800
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-21 15:53 +0100
                Re: Objective C supercat@casperkitty.com - 2015-11-21 08:58 -0800
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-22 22:14 +0100
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-23 03:39 -0800
                Re: Objective C raltbos@xs4all.nl (Richard Bos) - 2015-11-23 13:24 +0000
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-26 09:39 -0800
                Re: Objective C Robert Wessel <robertwessel2@yahoo.com> - 2015-11-26 13:16 -0600
                Re: Objective C supercat@casperkitty.com - 2015-11-26 12:25 -0800
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-27 14:34 -0800
                Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-26 12:39 -0800
                Re: Objective C raltbos@xs4all.nl (Richard Bos) - 2015-11-27 16:43 +0000
                Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-27 09:29 -0800
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-27 14:18 -0800
                Re: Objective C glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-11-23 22:35 +0000
                Re: Objective C James Kuyper <jameskuyper@verizon.net> - 2015-11-23 17:40 -0500
                Re: Objective C glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-11-24 05:35 +0000
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-25 12:15 -0800
                Re: Objective C glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-11-25 22:49 +0000
                Re: Objective C raltbos@xs4all.nl (Richard Bos) - 2015-11-27 16:44 +0000
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-27 14:03 -0800
                Re: Objective C Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-11-29 09:29 +0000
                Re: Objective C Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-11-22 19:01 +0000
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-23 07:31 -0800
                Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-23 07:43 -0800
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-23 08:17 -0800
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-23 17:34 +0100
                Re: Objective C Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-11-23 22:02 +0000
                Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-24 10:12 +0100
                Re: Objective C Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-27 08:39 -0800
          Re: Objective C Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-11-14 18:24 +0000
        Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-14 12:23 -0800
          Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-14 12:36 -0800
            Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-14 13:13 -0800
              Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-14 14:04 -0800
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-14 14:15 -0800
                Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-14 14:29 -0800
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-14 15:39 -0800
                Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-14 16:37 -0800
                Re: Objective C Ian Collins <ian-news@hotmail.com> - 2015-11-15 13:46 +1300
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-15 02:06 +0000
                Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-15 03:25 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-15 12:56 +0000
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-15 07:53 -0600
                Re: Objective C Stephen Sprunk <stephen@sprunk.org> - 2015-11-15 07:19 -0600
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-15 13:29 +0000
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-15 10:56 -0800
                Re: Objective C supercat@casperkitty.com - 2015-11-15 14:35 -0800
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-15 16:52 -0800
                Re: Objective C supercat@casperkitty.com - 2015-11-15 19:49 -0800
                Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-16 11:02 +0000
                Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-16 10:36 -0800
                Re: Objective C David Thompson <dave.thompson2@verizon.net> - 2015-12-06 08:03 -0500
                Re: Objective C Melzzzzz <mel@zzzzz.com> - 2015-11-16 02:01 +0100
                Re: Objective C supercat@casperkitty.com - 2015-11-15 19:34 -0800
                Re: Objective C Chad <cdalten@gmail.com> - 2015-11-15 19:54 -0800
                Re: Objective C raltbos@xs4all.nl (Richard Bos) - 2015-11-17 22:36 +0000
                Re: Objective C supercat@casperkitty.com - 2015-11-17 15:27 -0800
                Re: Objective C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-17 21:15 -0800
          Re: Objective C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-11-14 22:08 +0000
      Re: Objective C fir <profesor.fir@gmail.com> - 2015-11-27 14:36 -0800
  Re: Objective C David Brown <david.brown@hesbynett.no> - 2015-11-10 19:03 +0100
    Re: Objective C Keith Thompson <kst-u@mib.org> - 2015-11-10 10:50 -0800

csiph-web