LPCxpresso: Potize s optimalizaci
Pavel Hudecek
edizon na seznam.cz
Středa Červenec 27 14:24:05 CEST 2016
Tak tahle poznámka byla klíčová:
na extern jsem předělal i i2cStop a teď to všechno chodí a to jsem ani
nedělal clean+rebuild, ale jen jsem kliknul na brouka.
Ovšem zajímavé je, že mi na začátku tato změna nepomohla u i2cSync, přestože
jsem udělal i clean+rebuild. Ale od doby, co jsem udělal a zas zrušil funkci
clbi2cSync to chodí...
PH
-----Původní zpráva-----
From: Jaromir Sukuba
Robi to tuto istu vec aj vtedy ak je premenna zadefinovana v jednom .c
subore a v druhom .c subore s keywordom extern?
Toto je IMHO bezny sposob ako dosiahnut "viditelnost premennej vo
viacerych suboroch", deklaracia premennej do .h suboru a jeho
includnutie sposobi len deklaraciu dvoch premennych ktore su lokalne
pre tie dva subory (scope globalnej premennej je len v ramci suboru
kde bol deklarovany) - a to nehovorim o tom, ze su ludia ktorych chyta
hroza ked v .h subore vidia deklaraciu niecoho co alokuje pamat.
2016-07-27 14:02 GMT+02:00 Pavel Hudecek <edizon na seznam.cz>:
> Prakticky to vypadá tak, že:
> Pokud se if (neco==x... a neco=x; nacházejí v rozdílných .c, tak (přestože
> jsou volatile):
> - if nezkoumá hodnotu neco a funguje tak, jakoby měla hodnotu uvedenou v
> deklaraci
> - pokud se v tom druhém souboru nachází jen neco=x, tak se vykoná, jen
> je-li
> v tom souboru přímo přítomna deklarace s inicializací různou od x. Je-li
> tam
> jen extern, neco=x se vůbec neprovede.
Další informace o konferenci Hw-list