Re: GNU C kérdés..

hg12345 hg12345 at freemail.hu
Tue Jul 10 19:42:19 CEST 2007


Szia!

Ezeket gyárilag definialja a GNU  (C30) forditó, de szeretnék 
constansokat tárolni egy saját section-ban a program területen, ezt C-
ből tudom definiálni, a konstansokat ide tudom menteni, de szeretném 
a section kezdöcimét megkapni, úgy hogy ne kelljen a linkerscriptbe 
belenyúlni!
A linkerscriptben meghatározhatok egy ilyen section a program 
területen, ennek már akár kontansként is tudom a cimét....., de C-ből 
szeretném elérni!



Andras Tantos <andras at tantosonline.com> írta:

> Nezz bele a linker script-be. Ez deklaral(hat) szimbolumokat, amik a 
> section-ok kezdeten, vegen vannak. pl:
> 
>   .data           :
>   {
>     __data_start = . ;
>     *(.data .data.* .gnu.linkonce.d.*)
>     KEEP (*(.gnu.linkonce.d.*personality*))
>     SORT(CONSTRUCTORS)
>   }
>   .data1          : { *(.data1) }
>   _edata = .; PROVIDE (edata = .);
>   __bss_start = .;
>   __bss_start__ = .;
>   .bss            :
>   {
>    *(.dynbss)
>    *(.bss .bss.* .gnu.linkonce.b.*)
>    *(COMMON)
>    /* Align here to ensure that the .bss section occupies space up to
>       _end.  Align after .bss to ensure correct alignment even if the
>       .bss section disappears because there are no input sections.
>       FIXME: Why do we need it? When there is no .bss section, we 
don't
>       pad the .data section.  */
>    . = ALIGN(. != 0 ? 32 / 8 : 1);
>   }
>   _bss_end__ = . ; __bss_end__ = . ;
> 
> Itt a __data_start a .data section elejen van, az _edata, edata, 
__bss_start 
> es __bss_start__ a .bss section elen, mig a _bss_end__ es 
__bss_end__ a .bss 
> section vegen.
> 
> Ezeket a szimbolumokat c-bol a kovetkezo keppen lehet elerni:
> 
> extern char __data_start;
> extern char __bss_start__;
> extern char _bss_end__;
> 
> es ezek utan:
> 
> void *bss_start = &__bss_start__;
> size_t bss_size = (size_t)(&_bss_end__)-(size_t)(&__bss_start__);
> 
> Hogy kell-e az elso alahuzas, vagy sem, az a GCC-n, pontosabban a 
> binutils-on mulik (nemelyik platformon kell, mashol nem). A valtozo 
tipusa 
> mellekes, neked csak a cime fog kelleni.
> 
> Udv,
> Tantos Andras
> 
> ----- Original Message ----- 
> From: "hg12345" <hg12345 at freemail.hu>
> To: <elektro at tesla.hu>
> Sent: Tuesday, July 10, 2007 5:06 AM
> Subject: GNU C kérdés..
> 
> 
> Hi!
> 
> Hogyan tudom kinyerni egy kiválasztott "section" kezdöcímét a C
> programban!
> 
> 
> definiálni
> 
> char __attribute__ (( section (".probaTex") space(prog)
> Str1="1234567890";
> 
> (A definició változhat forditonként...)
> 
> A fenti section kezdöcímére lennék kiváncs?
> 
> 
> 
> Melyik testrészeden szabadulnál végleg a szőrtől? Az Aesthetica-ban 
most 
> akár 50% kedvezményt is kaphatsz egyes területek lézeres 
kezelésére! Klikk 
> ide a részletekért!
> http://www.webdesign.hu/aesthetica/flash_microsite/?
id=12;p_code=3005
> 
> 
> 
> 
> -----------------------------------------
>           elektro[-flame|-etc]
> 
> 
> 
> -----------------------------------------
>           elektro[-flame|-etc]
> 

Melyik testrészeden szabadulnál végleg a szőrtől? Az Aesthetica-ban most akár 50% kedvezményt is kaphatsz egyes területek lézeres kezelésére! Klikk ide a részletekért!
http://www.webdesign.hu/aesthetica/flash_microsite/?id=12;p_code=3005






More information about the Elektro mailing list