c_#include

Josef Štengl ok1ced na nagano.cz
Úterý Červenec 23 13:14:25 CEST 2013


Striktně relativní cesty (možno i s podadresáři) a kompilátoru říci kde 
to má hledat viz příklad J.S. níže. Klíčové slovo pro kompilátor je 
include path.

Názvy souborů striktně malá písmena anglické abecedy a _ včetně adresářů 
([a-z0-9_]\.[ch])

Při použití absolutních cest, a velkých písmen a jiných ‚hezoučkých‘ 
znaků, pokud pak projekt bude používat někdo jiný - nedejbože na systému 
s použitelnějším OS - doporučuji poznávací pobyt u oběti. Se špunty v 
uších. V kleci a za neprůstřelným sklem :-)

Velká písmena v názvech za použití verzovacího systému (krásný příklad 
je SVN) a windows klientů také vede ke krásným na první pohled 
nepochopitelným chybovým hláškám :-).

Mimochodem lomítka pro oddělení adresářů používejte / (nebo v případě 
masochistických choutek \\). Použití jednoho \ může vést k 
nepochopitelným hláškám kompilátoru (záleží na kompilátoru, většina to 
sice schroustá, ale proč si dělat problémy).

ced


Dne 23.7.2013 12:38, Jan Smrz napsal(a):
> A nestaci jen do Makefile pridat adresar, kde se hledaji .h soubory?
> Napr. u gcc -IX:\moje\knihovna\spi\
>
> J.S.
>
>
> On 07/23/2013 12:32 PM, Miroslav Draxal wrote:
>>
>> Dobrý den,
>>
>> Snažím se postupně si vštěpovat správné zásady C:
>>
>> Jak řešíte importování svých knihoven
>>
>> Mějme:
>>
>> X:\moje\projekt\projekt1\...zde je můj nový projekt
>>
>> X:\moje\knihovna\spi\....zde je moje knihovna spi.c, spi.h
>>
>> Main.c
>>
>> #include „config_projekt.h“
>>
>> config_projekt.h
>>
>> …..
>>
>> include „../../../knihovna/spi/spi.h“
>>
>> spi.c
>>
>> #include „spi.h“
>>
>> spi.h
>>
>> ……
>>
>> include „config_projekt.h“
>>
>> no a v spi.h je problém, protože zde potřebuji univerzálně načíst
>> „config_projekt.h“ , kde mám nastaveno jestli se jedná o HW nebo SW
>> implementaci SPI. Ale jak donutit #include, aby si načetla ze složky
>> aktuálního projektu „config_projekt“.
>>
>> Protože:
>>
>> 1/#include „xxxx.h“ čte ze složky, kde je *.c soubor, a ten je v
>> X:\moje\knihovna\spi\.... kde soubor „config_projekt.h“ samozřejmě není
>>
>> 2/#include<xxxx.h> čte ze složky se standardními hlavičkovými soubory
>>
>> Doufám, že jsem to popsal dostatečně . Díky za odpovědi. Míra
>>
>> Ps.Herout mlčí
>>
>>
>>
>> __________ Informace od ESET NOD32 Antivirus, verze databaze 8599
>> (20130723) __________
>>
>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>
>> http://www.eset.cz
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> 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