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