Zacatecnicke dotazy v C

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pátek Prosinec 18 13:49:33 CET 2015


Ja mam fonty v .h 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



Další informace o konferenci Hw-list