Re: transpiling to low level C

Liste des GroupesRevenir à cl c 
Sujet : Re: transpiling to low level C
De : bc (at) *nospam* freeuk.com (bart)
Groupes : comp.lang.c
Date : 17. Dec 2024, 19:37:47
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vjsgdr$1rrvs$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9
User-Agent : Mozilla Thunderbird
On 17/12/2024 18:16, Thiago Adams wrote:

 also remove structs changing by unsigned char [] and cast parts of it to access members.
 I think this the lower level possible in c.
This is what I do in my IL, where structs are just fixed blocks of so many bytes.
But there are some things to consider:
* A struct may still need alignment corresponding to the strictest alignment among the members. (Any padding between members and at the end should already be taken care of.)
I use an alignment based on overall size, so a 40-byte struct is assumed to have an 64-bit max alignment, but it may only need 16-bit alignment. That is harmless, but it can be fixed with some extra metadata.
With a C char[], you can choose to use a short[] array for example (obviously of half the length) to signal that it needs 16-bit alignment.
* Some machine ABIs, like SYS V for 64 bits, may need to know the internal layout of structs when they are passed 'by value'.
If reduced down to char[], this info will be missing.
I ignore this because I only target Win64 ABI. It only comes up in SYS V, when calling functions across an FFI, and when the API uses value structs, which is uncommon. And also makes I can't make head or tail of the rules.

Date Sujet#  Auteur
15 Dec 24 * transpiling to low level C138Thiago Adams
15 Dec 24 +* Re: transpiling to low level C10Lawrence D'Oliveiro
15 Dec 24 i`* Re: transpiling to low level C9Thiago Adams
15 Dec 24 i `* Re: transpiling to low level C8Lawrence D'Oliveiro
16 Dec 24 i  `* Re: transpiling to low level C7Thiago Adams
16 Dec 24 i   `* Re: transpiling to low level C6BGB
16 Dec 24 i    +- Re: transpiling to low level C1Thiago Adams
16 Dec 24 i    +- Re: transpiling to low level C1bart
16 Dec 24 i    +- Re: transpiling to low level C1Lawrence D'Oliveiro
16 Dec 24 i    `* Re: transpiling to low level C2Keith Thompson
17 Dec 24 i     `- Re: transpiling to low level C1bart
15 Dec 24 +* Re: transpiling to low level C5Chris M. Thomasson
15 Dec 24 i`* Re: transpiling to low level C4Thiago Adams
15 Dec 24 i `* Re: transpiling to low level C3Chris M. Thomasson
16 Feb 25 i  `* Re: transpiling to low level C2Chris M. Thomasson
16 Feb 25 i   `- USENET and spam (Was: Re: transpiling to low level C)1Salvador Mirzo
15 Dec 24 +* Re: transpiling to low level C3bart
15 Dec 24 i`* Re: transpiling to low level C2Thiago Adams
15 Dec 24 i `- Re: transpiling to low level C1Thiago Adams
15 Dec 24 +* Re: transpiling to low level C117Bonita Montero
15 Dec 24 i+* Re: transpiling to low level C114bart
16 Dec 24 ii`* Re: transpiling to low level C113BGB
16 Dec 24 ii +- Re: transpiling to low level C1David Brown
16 Dec 24 ii +* Re: transpiling to low level C22Thiago Adams
17 Dec 24 ii i`* Re: transpiling to low level C21BGB
17 Dec 24 ii i `* Re: transpiling to low level C20Thiago Adams
17 Dec 24 ii i  +* Re: transpiling to low level C15Thiago Adams
17 Dec 24 ii i  i`* Re: transpiling to low level C14Thiago Adams
17 Dec 24 ii i  i `* Re: transpiling to low level C13bart
17 Dec 24 ii i  i  `* Re: transpiling to low level C12Thiago Adams
17 Dec 24 ii i  i   `* Re: transpiling to low level C11bart
18 Dec 24 ii i  i    `* Re: transpiling to low level C10BGB
18 Dec 24 ii i  i     `* Re: transpiling to low level C9Thiago Adams
19 Dec 24 ii i  i      `* Re: transpiling to low level C8BGB
19 Dec 24 ii i  i       `* Re: transpiling to low level C7bart
19 Dec 24 ii i  i        `* Re: transpiling to low level C6BGB
19 Dec 24 ii i  i         +* Re: transpiling to low level C3bart
19 Dec 24 ii i  i         i`* Re: transpiling to low level C2BGB
20 Dec 24 ii i  i         i `- Re: transpiling to low level C1BGB
23 Dec 24 ii i  i         `* Re: transpiling to low level C2Lawrence D'Oliveiro
23 Dec 24 ii i  i          `- Re: transpiling to low level C1BGB
17 Dec 24 ii i  `* Re: transpiling to low level C4BGB
17 Dec 24 ii i   +* Re: transpiling to low level C2Thiago Adams
18 Dec 24 ii i   i`- Re: transpiling to low level C1BGB
21 Dec 24 ii i   `- Re: transpiling to low level C1Lawrence D'Oliveiro
16 Dec 24 ii +* Re: transpiling to low level C76Janis Papanagnou
16 Dec 24 ii i+* Re: transpiling to low level C16bart
16 Dec 24 ii ii`* Re: transpiling to low level C15Janis Papanagnou
17 Dec 24 ii ii `* Re: transpiling to low level C14bart
17 Dec 24 ii ii  +* Re: transpiling to low level C12Keith Thompson
17 Dec 24 ii ii  i+- Re: transpiling to low level C1BGB
17 Dec 24 ii ii  i`* Re: transpiling to low level C10bart
17 Dec 24 ii ii  i +- Re: transpiling to low level C1Janis Papanagnou
17 Dec 24 ii ii  i +* Re: transpiling to low level C6Waldek Hebisch
17 Dec 24 ii ii  i i+* Re: transpiling to low level C4bart
18 Dec 24 ii ii  i ii`* Re: transpiling to low level C3Waldek Hebisch
18 Dec 24 ii ii  i ii `* Re: transpiling to low level C2bart
18 Dec 24 ii ii  i ii  `- Re: transpiling to low level C1Waldek Hebisch
18 Dec 24 ii ii  i i`- Re: transpiling to low level C1Janis Papanagnou
17 Dec 24 ii ii  i `* Re: transpiling to low level C2Keith Thompson
18 Dec 24 ii ii  i  `- Re: transpiling to low level C1Janis Papanagnou
17 Dec 24 ii ii  `- Re: transpiling to low level C1Janis Papanagnou
21 Dec 24 ii i`* Re: transpiling to low level C59Tim Rentsch
21 Dec 24 ii i `* Re: transpiling to low level C58Janis Papanagnou
21 Dec 24 ii i  +* Re: transpiling to low level C3Tim Rentsch
22 Dec 24 ii i  i`* Re: transpiling to low level C2Janis Papanagnou
13 Jan 25 ii i  i `- Re: transpiling to low level C1Tim Rentsch
21 Dec 24 ii i  +* Re: transpiling to low level C21Michael S
22 Dec 24 ii i  i+* Re: transpiling to low level C17Janis Papanagnou
22 Dec 24 ii i  ii`* Re: transpiling to low level C16Michael S
22 Dec 24 ii i  ii `* Re: transpiling to low level C15Janis Papanagnou
22 Dec 24 ii i  ii  `* Re: transpiling to low level C14Michael S
22 Dec 24 ii i  ii   +* Re: transpiling to low level C11Janis Papanagnou
23 Dec 24 ii i  ii   i`* Re: transpiling to low level C10Tim Rentsch
23 Dec 24 ii i  ii   i `* Re: transpiling to low level C9Waldek Hebisch
23 Dec 24 ii i  ii   i  +* Re: transpiling to low level C3David Brown
25 Dec 24 ii i  ii   i  i`* Re: transpiling to low level C2BGB
28 Dec 24 ii i  ii   i  i `- Re: transpiling to low level C1Tim Rentsch
4 Jan 25 ii i  ii   i  `* Re: transpiling to low level C5Tim Rentsch
4 Jan 25 ii i  ii   i   +- Re: transpiling to low level C1Chris M. Thomasson
5 Jan 25 ii i  ii   i   `* Re: transpiling to low level C3Ben Bacarisse
5 Jan 25 ii i  ii   i    +- Re: transpiling to low level C1James Kuyper
8 Jan 25 ii i  ii   i    `- Re: transpiling to low level C1Tim Rentsch
22 Dec 24 ii i  ii   `* Re: transpiling to low level C2James Kuyper
22 Dec 24 ii i  ii    `- Re: transpiling to low level C1Janis Papanagnou
23 Dec 24 ii i  i`* Re: transpiling to low level C3Tim Rentsch
23 Dec 24 ii i  i `* Re: transpiling to low level C2Chris M. Thomasson
24 Dec 24 ii i  i  `- Re: transpiling to low level C1Chris M. Thomasson
22 Dec 24 ii i  +* Re: transpiling to low level C27Waldek Hebisch
22 Dec 24 ii i  i+* Re: transpiling to low level C2Michael S
22 Dec 24 ii i  ii`- Re: transpiling to low level C1bart
22 Dec 24 ii i  i+* Re: transpiling to low level C3Tim Rentsch
22 Dec 24 ii i  ii`* Re: transpiling to low level C2Waldek Hebisch
4 Jan 25 ii i  ii `- Re: transpiling to low level C1Tim Rentsch
22 Dec 24 ii i  i`* Re: transpiling to low level C21Janis Papanagnou
22 Dec 24 ii i  i +* Re: transpiling to low level C4Michael S
23 Dec 24 ii i  i i+- Re: transpiling to low level C1bart
23 Dec 24 ii i  i i+- Re: transpiling to low level C1Michael S
23 Dec 24 ii i  i i`- Re: transpiling to low level C1Tim Rentsch
23 Dec 24 ii i  i +- Re: transpiling to low level C1Waldek Hebisch
23 Dec 24 ii i  i +* Re: transpiling to low level C14David Brown
23 Dec 24 ii i  i `- Re: transpiling to low level C1Tim Rentsch
22 Dec 24 ii i  +* Re: transpiling to low level C2Ben Bacarisse
22 Dec 24 ii i  `* Re: transpiling to low level C4Kaz Kylheku
16 Dec 24 ii `* Re: transpiling to low level C13Lawrence D'Oliveiro
16 Dec 24 i`* Re: transpiling to low level C2Lawrence D'Oliveiro
9 Feb 25 `* Re: transpiling to low level C2User One

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal