[elektro] C-s kérdés

hg12345 hg12345 at freemail.hu
Mon Mar 23 18:36:36 CET 2009


Komplikált... Egy táblázat rendszert állítok elő forditási időben, (nagyon hasonlóan a régi ASM analógiára, szerencsére ezt már kitaláltam ugyan több megkötés van a C-ben a mint az ASM-ben).

Az ASM programban a végét 
területend:
 
a fenti példa alpján igen egyszerüen megkaptam, ez alapján a készülékben az állíthatóságot és egyébb dolgokat tudtam számitani.
C-ben ezt nem tudom megoldani ilyen egyszerüen, gondoltam valaki tud egy használható kompatibilis trükköt. :-)

Megoldható a dolog másképp ezt akartam elkerülni, mert sokkal hosszabb a megoldás, kettős definiálású rendszerben egy autoimatikusan elöállított sorszám tipussal.

 üdv
 


> Az elég ha konstansként tudod tárolni nem?!
> Teljesen nem értem a dolgot... dinamikusan akarsz futasidoben helyet foglalni?
> Mert ha nem akkor forditaskor eldol a tomb merete helye minden az egvilagon.
> Igy az utolso elemere mutato pointer erteke is.
> 
> Viszont ez kapasbol minimum ket byte...
> Ha meg egy char valtozot teszel a valtozok vegere az csak 1 byte :)
> Menet kozben meg hivatkozva nem hivatkozva rá a stacken letesül csak a 2 - 4 
> byte-os rá mutató pointer ami a cimét adja vissza.
> 
> A.
> 
> On 2009. 03. 23. 17:59, hg12345 wrote:
> > Elöre is köszönöm.
> > 
> > Ez csak egy példa volt, a tömbök más elöttük lévő tömbökre hivatkozhatnak és a tömbelemek union strukturák. Tapasztalatom szerint nem szereti a forditó, ha pointerek nincsenek elöre definiálva.:-(
> > 
> > A tömbök nem fix hosszúságúak, a méret csak forditáskor derül ki. Csak konstansként tudom tárolni az utolsó elem sorszámát, 
> > cosnt int a=sizeof()/sizeof();
> > 
> > Erősen arra gyanakodom, hogy amit elképzeltem nem lehet megcsinálni. Valami hasonlóra gondoltam mint az ASM-ben egy nulla területü változó lefoglalása.
> > 
> > Üdv
> > 
> > 
> > Fuzesi Arnold <arnold.fuzesi.lista at gmail.com> írta: 
> > 
> > 
> >> F2 tömböt tenném utoljára, és annak az utolsó elemenek cime az utoljara hasznalt 
> >> valtozo. Igy nem kell pointert sem castolni...a többi új tömböt pedig mindig 
> >> előre pakolnám a sorban.
> >>
> >> A.
> >>
> >> On 2009. 03. 23. 17:13, hg12345 wrote:
> >>> Hi!
> >>>
> >>> Hogyan lehet cimet terület foglalás nélkül generálni ANSI C89 vagy C90 alapon?
> >>>
> >>> Szeretném megtudnii egy FLASH (const) terület követő cimét. Nem tudom milyen adatok kerülnek utána, igy nem tudom a következőleg letett CONST-ans cimét használni
> >>>
> >>> pl.: 
> >>>
> >>> const int F1[]={1,2,3,4.....};
> >>> const char F2[]={32,56,78,....};
> >>> const long F3[]={45;.....}; //a tömbok száma igen sok és változhat igy a sizeof () nem szerencsés
> >>>
> >>>
> >>> const char lastcim; //ezzel megoldható, de nem szeretnék felesleges területeket foglalni, a forditó is jelze a feleselges lefoglalt, nem használt változót.
> >>>
> >>> Ez megy de ha nem szeretnék területet foglalni, hogy lehet megcsinálni, ha megoldható?
> >>>
> >>> Üdv
> >>>
> >>>
> >>>
> >>>
> >>> -----------------------------------------
> >>> elektro[-flame|-etc]
> >>>
> >> -----------------------------------------
> >> elektro[-flame|-etc]
> >>
> > -----------------------------------------
> > elektro[-flame|-etc]
> > 
> 
> -----------------------------------------
> elektro[-flame|-etc]
> 


More information about the Elektro mailing list