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


Groups > comp.lang.c > #122898

Re: Equal yet different pointers

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c
Subject Re: Equal yet different pointers
Date 2017-11-18 13:39 +1300
Message-ID <f79dqeFk4dnU11@mid.individual.net> (permalink)
References (4 earlier) <CfpPB.21633$UP1.12104@fx31.am4> <oumhcn$bck$1@dont-email.me> <4EAPB.72385$f62.12057@fx25.am4> <oun1t3$3nd$1@dont-email.me> <aVKPB.48867$B52.25143@fx04.am4>

Show all headers | View raw


On 11/18/2017 01:12 PM, bartc wrote:
> On 17/11/2017 16:14, David Brown wrote:
>> On 17/11/17 13:31, bartc wrote:
> 
>>> (This is why I always say, when commenting on the suitability of C as
>>> intermediate or target code, that the language gets 'in the way'.)
>>>
>>
>> Your misunderstanding of the language gets in the way - not the language.
> 
> No, it's the language. You have a source language X and a target machine
> M, and use C as a convenient intermediate language:
> 
>     X => C => M
> 
> Suppose X has structs with members which you want to have specific
> offsets in M. If you represent those structs within the intermediate C,
> then C will superimpose ITS OWN offsets and can add extra padding. Or
> maybe X includes padding that C doesn't.

At least on a hosted environment, C will use (not impose) the ABI 
specified but the platform.  C is not getting in the way, it is 
following external rules.  Even on bare metal, C hill use the ABI that 
fits the hardware, anything else will be a dog.

I have had to address the problem you describe, porting code written for 
hardware (68K or PPC) that supported misaligned access to hardware that 
didn't (SPARC).  I had two choices, let it run like a dog with 
misaligned access trap handlers or add an emulation layer (in C++, which 
I had to learned).  You can probably guess which I chose.

> For this, you might use pack(1) for every struct, but sometimes that
> gives problems (for example, it may give the C compiler the idea that
> some elements are unaligned, and it will do slow byte-at-a-time accesses.)
> 
> The language is 'getting in the way', and the reason is not not
> understanding it.
> 
> Another example, X implements value arrays, but C doesn't. Now you have
> a problem, because using such an array in an expression will turn it
> into a pointer. The language getting in the way again (ASM would not
> cause the same problems.)

You code smarter.  Pick any pair of languages and they will have a 
different set of features, when converting one to another there will 
always be compromises.

-- 
Ian.

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


Thread

Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 11:29 +0100
  Re: Equal yet different pointers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-11-16 03:01 -0800
    Re: Equal yet different pointers "Bill Davy" <Bill@XchelSys.co.uk> - 2017-11-16 11:03 +0000
    Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 13:55 +0100
      Re: Equal yet different pointers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-11-16 06:44 -0800
        Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 14:49 +0000
          Re: Equal yet different pointers Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-11-16 08:28 -0800
        Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 16:46 +0100
      Re: Equal yet different pointers "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-16 12:29 -0500
        Re: Equal yet different pointers Nick Bowler <nbowler@draconx.ca> - 2017-11-17 22:47 +0000
          Re: Equal yet different pointers Richard Damon <Richard@Damon-Family.org> - 2017-11-18 17:03 -0500
  Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 11:09 +0000
    Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 11:14 +0000
    Re: Equal yet different pointers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-11-16 03:41 -0800
      Rick's neuroses (Was: Equal yet different pointers) gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-16 12:11 +0000
        Re: Rick's neuroses (Was: Equal yet different pointers) "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-11-16 04:30 -0800
          Re: Rick's neuroses (Was: Equal yet different pointers) David Brown <david.brown@hesbynett.no> - 2017-11-16 14:52 +0100
            Obscure references (Was: Rick's neuroses (Was: Equal yet different pointers)) gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-19 12:32 +0000
              Re: Obscure references Noob <root@127.0.0.1> - 2017-11-20 11:08 +0100
                Re: Obscure references David Brown <david.brown@hesbynett.no> - 2017-11-20 12:36 +0100
    Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 14:45 +0100
      Re: Equal yet different pointers Keith Thompson <kst-u@mib.org> - 2017-11-16 08:55 -0800
        Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 17:09 +0000
          Re: Equal yet different pointers Keith Thompson <kst-u@mib.org> - 2017-11-16 09:33 -0800
        Re: Equal yet different pointers Gareth Owen <gwowen@gmail.com> - 2017-11-16 19:20 +0000
          Re: Equal yet different pointers Keith Thompson <kst-u@mib.org> - 2017-11-16 11:36 -0800
            Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 22:50 +0100
              Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-16 14:34 -0800
                Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 10:44 +0100
                Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-17 08:23 -0800
                Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 19:13 +0100
                Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-17 16:45 -0800
                Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-18 07:30 +0000
        Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 22:25 +0100
          Re: Equal yet different pointers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-11-16 23:11 +0000
            Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-16 15:47 -0800
            Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 10:49 +0100
      Re: Equal yet different pointers Gareth Owen <gwowen@gmail.com> - 2017-11-16 19:20 +0000
        Re: Equal yet different pointers "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-11-16 11:26 -0800
        Re: Equal yet different pointers gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-16 22:22 +0000
          Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 23:09 +0000
            Re: Equal yet different pointers gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-17 08:50 +0000
              Re: Equal yet different pointers Gareth Owen <gwowen@gmail.com> - 2017-11-17 17:42 +0000
                Re: Equal yet different pointers gazelle@shell.xmission.com (Kenny McCormack) - 2017-11-17 19:35 +0000
      Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 23:34 +0000
        Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-16 15:58 -0800
        Re: Equal yet different pointers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-11-17 00:57 +0000
        Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 12:32 +0100
          Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-17 12:31 +0000
            Re: Equal yet different pointers mark.bluemel@gmail.com - 2017-11-17 07:23 -0800
            Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-17 17:14 +0100
              Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 00:12 +0000
                Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-18 13:39 +1300
                Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 01:39 +0000
                Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-18 14:42 +1300
                Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 02:01 +0000
                Re: Equal yet different pointers Melzzzzz <Melzzzzz@zzzzz.com> - 2017-11-18 02:07 +0000
                Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-18 15:35 +1300
                Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 11:23 +0000
                Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-19 12:02 +1300
                Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-18 23:25 +0000
                Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-19 13:44 +1300
                Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-19 01:05 +0000
                Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-19 14:30 +1300
                Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-19 01:48 +0000
                Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-19 16:21 +1300
                Re: Equal yet different pointers Reinhardt Behm <rbehm@hushmail.com> - 2017-11-19 11:44 +0800
                Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-19 10:10 +0000
                Re: Equal yet different pointers mark.bluemel@gmail.com - 2017-11-20 00:52 -0800
                Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-19 23:27 +0100
                Re: Equal yet different pointers Richard Damon <Richard@Damon-Family.org> - 2017-11-19 22:48 -0500
                Re: Equal yet different pointers Ian Collins <ian-news@hotmail.com> - 2017-11-20 16:52 +1300
    Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 14:28 +0000
      Re: Equal yet different pointers Barry Schwarz <schwarzb@dqel.com> - 2017-11-16 07:10 -0800
        Re: Equal yet different pointers David Brown <david.brown@hesbynett.no> - 2017-11-16 16:51 +0100
          Re: Equal yet different pointers "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-16 12:57 -0500
      Re: Equal yet different pointers supercat@casperkitty.com - 2017-11-16 08:03 -0800
      Re: Equal yet different pointers "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-16 12:38 -0500
        Re: Equal yet different pointers "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-11-16 20:13 +0100
          Re: Equal yet different pointers "James R. Kuyper" <jameskuyper@verizon.net> - 2017-11-16 14:29 -0500
    Re: Equal yet different pointers Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-11-16 15:57 +0000
      Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 16:07 +0000
        Re: Equal yet different pointers Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-11-16 19:01 +0000
          Re: Equal yet different pointers Spiros Bousbouras <spibou@gmail.com> - 2017-11-16 19:14 +0000
            Re: Equal yet different pointers Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-11-16 19:47 +0000
      Re: Equal yet different pointers bartc <bc@freeuk.com> - 2017-11-16 23:08 +0000
        Re: Equal yet different pointers Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-11-17 00:33 +0000

csiph-web