C array[] in *array

Vse o programiranju na in za PC

Moderatorji: Kroko, tilz0R

C array[] in *array

OdgovorNapisal/-a zanka » 22 Dec 2018, 20:34

Bi znal kdo razložiti, čemu sprememba
Koda: Izberi vse
_l2h[i]

v
Koda: Izberi vse
*(_l2h + i)

zmanjša program za 2 bajta. :shock:

_l2h je uint8_t [15] in i uint8_t
Uporabniški avatar
zanka
 
Prispevkov: 2599
Pridružen: 17 Mar 2016, 01:16
Zahvalil se je: 115 krat
Prejel zahvalo: 257 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 51

Re: C array[] in *array

OdgovorNapisal/-a zanka » 22 Dec 2018, 20:36

Medtem, ko sprememba
Koda: Izberi vse
_l2h[i] >>= 1;

v
Koda: Izberi vse
*(_l2h + i) >>= 1;

poveča kodo za 8 bajtov.

V obeh primerih imam -O2.
Uporabniški avatar
zanka
 
Prispevkov: 2599
Pridružen: 17 Mar 2016, 01:16
Zahvalil se je: 115 krat
Prejel zahvalo: 257 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 51

Re: C array[] in *array

OdgovorNapisal/-a s54mtb » 22 Dec 2018, 21:21

Poglej v disasemblerju. Verjetno je drugače izvedeno indeksiranje.
Namesto "Zahvali se" sprejemam tudi šalco kofeta: https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 11307
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1567 krat
Prejel zahvalo: 4110 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 104

Re: C array[] in *array

OdgovorNapisal/-a tilz0R » 23 Dec 2018, 00:27

Dobro bi bilo vedeti kateri prevajalnik imaš, in verzijo.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1827
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 230 krat
Prejel zahvalo: 517 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255


Vrni se na Programski jeziki

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost