Re: GNU C kérdés..

Andras Tantos andras at tantosonline.com
Tue Jul 10 19:05:25 CEST 2007


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]





More information about the Elektro mailing list