Struct Size Hints – tai Visual Studio Code plėtinys, automatiškai parodantis C kalbos struktūrų (struct) dydžius bei laukų adresus pagal pasirinktą bazinį HEX adresą.
Kam jis skirtas
Šis įrankis analizuoja .c ir .h failus bei:
apskaičiuoja kiekvienos struktūros dydį baitais (be alignment/padding);
prie kiekvieno struktūros lauko rodo jo dydį ir, jei žinomas, HEX adresą (pvz. 0xF1000);
palaiko įdėtas struktūras (rekursyviai randa jų dydžius kituose failuose);
ignoruoja bitfield’us (:) ir rodykles (*);
automatiškai perbraižo dekoracijas, kai:
redaguojamas kodas;
pakeičiamas aktyvus redaktoriaus langas;
atnaujinama konfigūracija;
pasikeičia bet kuris .c ar .h failas workspace aplanke.
Pavyzdys
typedef struct testinis { // 0xF1000
int a;
int b;
int c[12];
antras_t a_test;
struct pirmas pirmas_test;
} testinis_t;
Rezultatas VS Code lange:
int a; (size: 4 bytes, 0xF1000)
int b; (size: 4 bytes, 0xF1004)
int c[12]; (size: 48 bytes, 0xF1008)
antras_t a_test; (size: 78 bytes, 0xF1038)
struct pirmas pirmas_test; (size: 20 bytes, 0xF108A)
testinis_t; (size: 158 bytes)
Funkcionalumo santrauka
Funkcija
Aprašymas
Automatinis dydžio skaičiavimas
Apskaičiuoja visų struct laukų dydžius be padding.
Įdėtos struktūros
Jeigu laukas yra kita struktūra, suranda jos dydį tame pačiame aplanke.
HEX adresai
Jei komentare po { yra // 0xHEX, skaičiuoja laukų adresus pagal tą bazę.
Greitas indeksavimas
Naudoja nuolatinį .c ir .h failų indeksą, kad išvengtų perteklinių skaitymų.
Realaus laiko atnaujinimas
Dydžiai ir adresai automatiškai perskaičiuojami redaguojant kodą.
Naudojimas
Įdiekite plėtinį į VS Code.
Atidarykite .c arba .h failą.
Po kiekvieno struct deklaracijos pamatysite (size: ...) užrašus.
Jei pridėsite HEX komentarą (pvz. // 0xF2000), bus rodomi ir laukų adresai.
Reikalavimai
Visual Studio Code 1.90.0 arba naujesnė versija
Projektai tik C kalboje (IAR ar GCC)
Failų plėtiniai: .c, .h
Licencija
Šis plėtinys platinamas MIT licencija.
Naudoti gali visi, tačiau jis kurtas specialiai Axioma Metering programuotojams vidaus projektams.