Zacatecnicke dotazy v C

Milan B. milan na bastl.sk
Pátek Prosinec 18 14:41:59 CET 2015


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



Další informace o konferenci Hw-list