C - redukce kodu v direktivach kompileru
Pavel Kutina
hw na prelude.cz
Čtvrtek Září 5 22:32:47 CEST 2019
Já bych to tak nehrotil :) Primárně mi šlo o to, najít nějaký přepínač,
který by řekl gcc, že po sobě nemá uklízet, abych si mohl projít, z čeho že
se vlastně kompilovalo a jak vypadá kód. To s -E se mi zatím nepodařilo
rozběhnout (ani nevím, jestli to tu mám vůbec říkat - Arduino IDE s stm32,
tam pro mne není úplně triviální vnutit gcc cokoliv - to bude rukama), ale
ať už budou makra přeložená nebo ne je mi zatím celkem jedno, potřebuju
hlavně pochopit větvení kódu u cizího, docela rozsáhle konfigurovatelného
projektu.
Každopádně díky za inspiraci, pohraju si s tím asi až přes víkend - teď mám
maličko jinou zábavu, viz následující mail.
Pavel Kutina
----- Original Message -----
From: "Miroslav Mraz" <mrazik na volny.cz>
To: <hw-list na list.hw.cz>
Sent: Wednesday, September 04, 2019 5:56 PM
Subject: Re: C - redukce kodu v direktivach kompileru
> Je to o dost složitější. IDE nevidí především makra definovaná přímo
> kompilerem - a na těch obvykle bývá dost závislých věcí. U dobrého IDE se
> to dá nastavit, stejně tak některá IDE umí i načíst makra z makefile. Ale
> není na to spolehnutí. Vygenerovat si pomocný soubor pomocí přepínače -E
> je spolehlivější, ale musíte zároveň i použít ostatní flagy kompilace.
> Protože některé flagy -fxxx, -mxxx mohou dost změnit vnitřní makra
> kompileru.
> příklad
> $ gcc -dM -E - < /dev/null | grep SIZE_T
> #define __SIZEOF_SIZE_T__ 8
> #define __SIZE_TYPE__ long unsigned int
>
> $ gcc -m32 -dM -E - < /dev/null | grep SIZE_T
> #define __SIZEOF_SIZE_T__ 4
> #define __SIZE_TYPE__ unsigned int
>
>
> Mrazík
>
> Dne 04. 09. 19 v 13:45 Miro su napsal(a):
>> Pri IDE moze byt problem ze niektore define nevidi. Napr. z makefile.
>>
>> Miro
>>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
Další informace o konferenci Hw-list