CCS stdio FILE

David Obdrzalek David.Obdrzalek na mff.cuni.cz
Pondělí Listopad 1 11:58:08 CET 2021


Myslim, ze jsi to porad nepochopil. S obsahem struktury FILE zasadne nepracujes. 
Pracujes vyhradne s ukazatelem na ni (neboli ne FILE ale FILE *) a NEZAJIMA te, co 
je uvnitr. 

Jestli v programu nekdo pouzil FILE, tak tim zpusobem, ze pouziva funkce, ktere jako 
parametr maji FILE *, pricemz ty funkce i FILE jsou deklarovane v nejakem 
hlavickovem souboru (typicky to je stadnardni knihovna stdio.h a deklarace FILE tam 
je jen prejmenovani nejake interni struktury nebo dokonce void *). Pak mas v ruce 
promennou typu FILE * a hotovo. Treba takhle pro precteni 100 bajtu ze souboru:
FILE * mujsoubor; 
char buffer[100];
if((mujsoubor=fopen("fajl.txt","r")) != NULL)
{ 
	if(fread(buffer,1,100,mujsoubor) != 100) // chci precist 100 prvku velikosti 1B
	{
		// fread vraci pocet prectenych prvku, takze kdyz nevrati 100, tak se to nepovedlo
		perror("Neprecetl jsem 100 B"); // vypisu nejakou chybovou hlasku
	}
	else
	{
		//precetlo se to a tady se s tim neco udela 
		fclose(mujsoubor); // a nakonec se soubor zavre
	}
}

Pricemz je ti uplne fuk, co v ty strukture system potrebuje mit, ty do ni dovnitr 
nikdy sahat nepotrebujes a nebudes a nepotrebujes ani vedet, co v ni je. Ani ji 
nevytvraris ani nerusis, to delaji ty funkce, co volas.

Takhle by to melo fungovat na libovolne platforme, kde je stdio.h a FILE pouzite.
Jak je ta knihovna implementovana, te nezajima, to je zalezitost daneho prostredi a 
komiplatoru. Zacalo by te to zajimat az tehdy, kdyz bys chtel projekt portovat na 
nejakou platformu, kde tahle standardni knihovna implementovana neni. A to bys pak 
asi musel dost veci napsat/prepsat. Ale prejit z CSS na XC8 by v tomhle smeru nemelo 
znamenat vubec nic, cekal bych, ze z hlediska uzivatele to bude naprosto stejne.

D.O.


On 1 Nov 2021 at 10:43, Libor Konečný wrote:
> Tak jsem si nainstaloval CCSinfo.
> 
> Projekt lze zkompilovat, ale ten FILE je schovany v jejich knihovne a 
> HELP ikonku jsem nenasel, ktera by jej popsala.
> 
> Prece kdyz chci tento datovy typo pouzivat ve zdrojacich, tak musim 
> vedet co obsahuje. Oni maji uz hotovou knihovnu s fat.
> 
> Nezbyva nez  zvolit jinou cestu.
> 
> LK
> 
> 
> Dne 01.11.2021 v 10:15 Libor Konečný napsal(a):
> >
> > To mi je jasne, ale ja potrebuji konretni strukturu, se kterou 
> > zdrojaky pracuji.
> >
> > Otazka je stejne jasna: Jak prepsat  projekt z CCS  ve kterem je 
> > definice FILE myfile  pro MPLAB XC8 kdyz dany typ FILE nema (nebo muze 
> > byt jinak strukturovany) ?
> >
> > Musim si ji vytvorit. A abych to nemusel dedukovat ze zdrojaku, je 
> > reseni tu danou strukturu pouzit hotovou a ta musi byt definovana v 
> > nejakem .h souboru v CCS.
> >
> > Proto byl muj dotaz  smerovan na nekoho kdo CCS ma instalovane.
> >
> > Libor
> >
> >
> >
> > Dne 31.10.2021 v 23:07 Pavel Hudecek napsal(a):
> >>
> >> A v těch zdrojákách se s ní nějak nestandardně pracuje, jako že by 
> >> přistupoval přímo k jejím prvkům?
> >>
> >> To je dost bláznivej nápad, ale lidi mají občas (h)různé nápady…
> >>
> >> Třeba tady si lze udělat představu, co by tam mohlo bejt:
> >>
> >> https://www.geeksforgeeks.org/data-type-file-c/ 
> >> <https://www.geeksforgeeks.org/data-type-file-c/>
> >>
> >> PH
> >>
> >> *Od: *Libor Konečný <mailto:support na mikrovlny.cz>
> >>
> >> Ano je to C kompilator, ve kterem jsem nedelal, jen studuji rozsahlejsi
> >>
> >> zdrojaky, ke kterym neni.h soubor a m.j. odkazuji na typ FILE.
> >>
> >> Rad bych znal tedy tu strukturu, nez abych byl nucen zase instalovat
> >>
> >> neco zbytecne do PC.
> >>
> >> Dne 31.10.2021 v 22:24 David Obdrzalek napsal(a):
> >>
> >> > Podle me to je spis CCS C Compiler od CCS Inc., tj. Custom Computer 
> >> Services.
> >>
> >> >
> >>
> >> > Ale tak i tak, obsah FILE me nikdy nezajimal, pracuje se s tim jako 
> >> s handlerem na
> >>
> >> > soubor, pointrem, jeho obsah je nezajimavy a jen slouzi k predavani 
> >> do funkci, ktere
> >>
> >> > s tim souborem neco maji udelat (zapsat do nej, zavrit apod.).
> >>
> >> >
> >>
> >> > D.
> >>
> >> >
> >>
> >> > On 31 Oct 2021 at 20:47, Pavel Hudecek wrote:
> >>
> >> >> Jestli je CCS Code Composer Studio, tak to funguje jako všechny 
> >> jiné Eclipsy.
> >>
> >> >>
> >>
> >> >> A datové typy jsou samozřejmě obvykle záležitostí jazyka a 
> >> překladače a to
> >>
> >> >> se volí při vytváření projektu.
> >>
> >> >> Takže bych nehledal CCS, ale třeba GCC.
> >>
> >> >>
> >>
> >> >> PH
> >>
> >> >>
> >>
> >> >> Od: Libor Konečný
> >>
> >> >> Mel bych prosbu na nekoho kdo pracuje v CCS.
> >>
> >> >>
> >>
> >> >> Potreboval bych vedet jakou strukturu CCS pouziva pro datovy typ FILE,
> >>
> >> >> pravdepodobne bude v stdio.h
> >>
> >> >>
> >>
> >> >> Google mi porad nuti CSS misto CCS :-)
> >>
> >> >>
> >>
> >> >> Muzete prosim postnout do konfery ?
> >>
> >>
> >> _______________________________________________
> >> 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