RE: Globální proměnné v C

Miroslav Draxal evik na volny.cz
Pondělí Únor 27 17:27:42 CET 2012


Je to předělaný. Šlo si to skutečně jenom v hlavě srovnat. Míra

-----Original Message-----
From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
Behalf Of Miroslav Šinko
Sent: Monday, February 27, 2012 5:03 PM
To: HW-news
Subject: Re: Globální proměnné v C

No kazdy *.c sa preklada samostatne, o ostatnych nevie nic. #include "subor"
jednoducho pred prekladom vlozi "subor" cely, ako je, takze v tejto
terminologii *.c vidi to, co je v "subore". Vkladany subor moze byt
hocijaky, nikde nie je restrikcia na *.h. Obcas ma zmysel includovat subory
aj s kodom, pripadne definiciami instancii premennych, ale bezna prax to nie
je. Vtedy sa includovane subory zvyknu pomenovat s inou priponou, napr. *.i.
Header file, s priponou *.h, by definicie instancii nemal obsahovat.
Samozrejme vo vasom pripade 2/, ak dany header includujete iba do jedneho
*.c, preklad, aj linkovanie sa podari. Ziskavate ale zle navyky, raz sa vam
to vypomsti. Staci, ze budete potrebovat includnut ten header do dalsieho
*.c.

miro

2012/2/27 Miroslav Draxal <evik na volny.cz>:
> Takže u tohoto zůstanu, pro mě zatím dostatečné. Musel jsem si v hlavě 
> udělat pořádek, jak C přistupuje j proměnným. (jejich viditelnost v 
> ostatních *.c) Míra
>
>
>
> ---Original Message-----
> From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] 
> On Behalf Of Miroslav Šinko
> Sent: Monday, February 27, 2012 4:31 PM
> To: HW-news
> Subject: Re: Globální proměnné v C
>
> 2012/2/27 Miroslav Draxal <evik na volny.cz>:
>> 2/
>>
>> Spi.h
>>
>> typedef struct _SPIout_bity_flag
>>
>>                {             unsigned CanSleep          :1;
>>
>>                               unsigned Set12V              :1;
>>
>>                }_SPIout_bity;
>>
>>
>>
>> _SPIout_bity SPIout_bity;
>
> Toto je zle, v *.h si nemate co definovat instancie premennych 
> (SPIout_bity). V *.h si nechajte iba typedef. Instanciu si definujte v 
> *.c, kde ju potrebujete. Pravdepodonbe v spi.c. Ak potrebujete pristup 
> k instancii struktury aj z inych *.c, do spi.h pridajte extern 
> _SPIout_bity SPIout_bity; V tych inych zdrojakoch potom #include "spi.h"
>
> miro
>
>
>>
>>
>> klavesnice.c
>>
>> typedef struct _SPIout_bity_flag
>>
>>                {             unsigned CanSleep          :1;
>>
>>                               unsigned Set12V              :1;
>>
>>                }_SPIout_bity;
>>
>>
>>
>> extern _SPIout_bity SPIout_bity;
>>
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
 

__________ Informace od ESET NOD32 Antivirus, verze databaze 6919 (20120227)
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz
 
 

__________ Informace od ESET NOD32 Antivirus, verze databaze 6919 (20120227)
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz
 



Další informace o konferenci Hw-list