Zacatecnicke dotazy v C

Milan B. milan na bastl.sk
Pátek Prosinec 18 15:54:07 CET 2015


On 18. 12. 2015 15:10, Jaroslav Buchta wrote:
> Klidne to muze byt .inc ale pak to myslim kazi umelecky dojem v 
> nejakem mem oblibenem IDE - proste to nema spravnou barvu ve stromu 
> souboru :-P

Nuz, ked o vasom projekte rozhoduje IDE a nie vy... tam nemam dalsie 
argumenty

-m-


> Tady to je ale .h hlavne proto, ze se jedna o automaticky generovany 
> soubor, a pouziva se i jako klasicky .h - je tam ta deklarace extern 
> pole... Pokud by to melo byt pouzite bez teto vlastnosti, tak to asi 
> muze byt rovnou .c
> Ale uznavam, ze je to trosku nestandardni, taky je to jediny pripad, 
> kdy to takhle pouzivam, aby se soubory fontu daly jednoduse a na 
> jednom miste konfigurovat.
>
> Dne 18.12.2015 v 14:41 Milan B. napsal(a):
>> On 12/18/2015 1:47 PM, Jaroslav Buchta wrote:
>>> Ja mam fonty v .h 
>>
>> V .h by ale nemal byt ziaden kod (deklaracie inline funkcii sa v 
>> tomto kontexte za kod nepovazuju) ani data.
>>
>> Odporucani na tuto temu su plne internety
>>
>> Preto pouzivam .inc - naznacuje, ze sa subor niekam inkluduje, ale 
>> nie je to header file.
>>
>> -m-
>>
>>> souborech a pak mam jeden soubor .c, kam je volitelne includuju aby 
>>> se vytvorily definice tech poli a zaroven se includuji do vsech 
>>> dalsich .c souboru ktere je potrebuji.
>>> Duplicitu resim tak, ze v tom jedinem souboru .c mam neco extra 
>>> definovaneho pred includy. Nejak takto:
>>>
>>> #ifndef FONTTAHOMA_12_H
>>> #define FONTTAHOMA_12_H
>>> //////////////////////////////////////////////////////////////////////////////// 
>>>
>>>      extern const  uint8_t FontTahoma_12 [];
>>> //////////////////////////////////////////////////////////////////////////////// 
>>>
>>> #ifdef FONTDEFINITION
>>> //////////////////////////////////////////////////////////////////////////////// 
>>>
>>>
>>>     const  uint8_t FontTahoma_12 [] = {
>>>         96,     //Characters count
>>>         18,     //Max font height
>>>         15,     //Max font width
>>>         0,     //Padding
>>> //////////////////////////////////////////////////////////////////////////////// 
>>>
>>> // Characters offset table
>>> //////////////////////////////////////////////////////////////////////////////// 
>>>
>>>         0xc4, 0x00,     //Character offset ' ' [0x20]; 0196
>>>         0xc7, 0x00,     //Character offset '!' [0x21]; 0199
>>>         0xdc, 0x00,     //Character offset '"' [0x22]; 0220
>>> ...
>>>
>>> a .c soubor:
>>>
>>> #define FONTDEFINITION
>>> #include "FontTahoma_12.h"
>>>
>>> Po vsech moznych variantach, co jsem zkousel,mitohle prijde jako 
>>> nejprehlednejsi.
>>>
>>>
>>> Dne 18.12.2015 v 12:20 Milan B. napsal(a):
>>>> On 12/18/2015 10:43 AM, Pavel Kutina wrote:
>>>>> Priznam se, ze jsem ostuda ostudna a web arduina jsem prochazel 
>>>>> jen zbezne a v mistech, ktere jsem akutne potreboval. Tohle mi 
>>>>> uniklo, ted uz je jasne, ze asi bude lepsi v projektu udrzovat 
>>>>> poradek...
>>>>>
>>>>> A co se tyka prdeni v divadle - tam si dokazu celkem predstavit, 
>>>>> proc bych to nemel delat, pripadne co to pozitivniho ci 
>>>>> negativniho mne (nebo okoli) prinese. Ale proc neincludovat .c 
>>>>> netusim - konkretne treba soubor s fonty obsahuje celkem jedno 
>>>>> velke pole a to je vsechno, to k nemu mam delat hlavicku a tu 
>>>>> includovat? Co s kusy kodu, u kterych nechci, aby mi prekazely v 
>>>>> aktualnim souboru? U Pascalu to bylo celkem jednoduche - co je 
>>>>> hotove, ven s tim do dalsiho souboru, ten nainkludovat. Proc je to 
>>>>> v C spatne? Mimochodem, ten "#include fonts.c" jsem "zdedil" spolu 
>>>>> s knihovnou pro ovladani TFT, tu jsem sice kompletne prepsal 
>>>>> (takze jsem praci s displejem -za cenu drobnych kompromisu, jako 
>>>>> je treba nesnadna prenositelnost- zrychlil zhruba tricetinasobne), 
>>>>> ale ten include uz tam zustal.
>>>>>
>>>>
>>>> Ide ciste o nejaku stabnu kulturu, prehladnost, zrozumitelnost 
>>>> projektu. U suborov *.c a *.cpp sa obvykle predpoklada, ze je to 
>>>> samostatne kompilovatelna jednotka a nie ze sa inkluduje. Nejde len 
>>>> o cloveka, ale aj o rozne "systemy na spravu projektov" - aj to 
>>>> vase Arduino IDE to predpoklada a fonts.c automaticky zahrnulo do 
>>>> projektu a skompilovalo ho. Predpokladam, ze ak by ste ho inkludli, 
>>>> tak tie data tam budete mat dvakrat, ak sa to vobec zlinkuje.
>>>>
>>>> Staci ho premenovat - ja by som pouzil fonts.inc - a vsetci budu 
>>>> spokojni.
>>>>
>>>> -m-
>>>>
>>>>> Jinak pouzivani .h je dalsi bod na mem soukromem seznamu k 
>>>>> vyjasneni (dobre, u knihoven si funkci vysvetlim celkem snadno), 
>>>>> jak koukam, u C je potreba k programovani i nejaka ta literarni 
>>>>> zajmova cinnost, tak si holt budu nasledujicich ctrnact dnu pred 
>>>>> spanim cist misto Vondrusky nejakeho Ritchieho :)
>>>>>
>>>>> Pavel Kutina
>>>>>
>>>>
>>>> _______________________________________________
>>>> HW-list mailing list  -  sponsored by www.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
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.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