Forráskód nem hordozható?

Kezdőlap Fórumok Programozás Forráskód nem hordozható?

10 bejegyzés megtekintése - 61-70 / 81
  • Szerző
    Bejegyzés
  • #2177778
    kisbetu
    Felhasználó

      Te valami warez linugzot használsz, warez gcc-vel.

      #2177779
      kisbetu
      Felhasználó

        Te valami warez linugzot használsz, warez gcc-vel.

        #2177780
        gabaman
        Felhasználó
          zoltan22 wrote:
          Code:
          void takarit(void){
          int memoria[1000];   // ez ugyebar helyi valtozo, a veremben tarolva
          for(int i=0; i<1000; i++)
            memoria[i] = 0;
          i = 0; // i helyet is
          }

          Elmeletileg ha ezt meghivjuk egy „problemas” fuggveny elott (mielott a valtozokat deklaraljuk), akkor minden helyi valtozo erteke 0 lesz. Gyakorlatilag ez mukodhet?

          Nem biztos, a statikus paraméterek mindig a veremben tárlódnak (pl. „void func (char buf[200])”), de rémlik valami olyasmi, az újabb gcc esetén a lokális változók is egy ELF szekcióban tárolódnak (talán .tss), ami a program indulásakor a memóriába másolódik. Ez attól szálbiztos, hogy alapból használja a kernel TLS (thread-local storage) képességét. Ez okozhat olyan jelenséget, hogy a véletlenszerű érték nem véletlen, mert fordításkor kap egy értéket ami később nem változik meg.  Ha ez így van, akkor egy -ftls-model=”local-dynamic” gcc paraméter után a progi vígan dobálja a sok NaN-t. Nektek melyik gcc van fent (nekem a 4.3.0)?

          #2177781
          gabaman
          Felhasználó
            zoltan22 wrote:
            Code:
            void takarit(void){
            int memoria[1000];   // ez ugyebar helyi valtozo, a veremben tarolva
            for(int i=0; i<1000; i++)
              memoria[i] = 0;
            i = 0; // i helyet is
            }

            Elmeletileg ha ezt meghivjuk egy „problemas” fuggveny elott (mielott a valtozokat deklaraljuk), akkor minden helyi valtozo erteke 0 lesz. Gyakorlatilag ez mukodhet?

            Nem biztos, a statikus paraméterek mindig a veremben tárlódnak (pl. „void func (char buf[200])”), de rémlik valami olyasmi, az újabb gcc esetén a lokális változók is egy ELF szekcióban tárolódnak (talán .tss), ami a program indulásakor a memóriába másolódik. Ez attól szálbiztos, hogy alapból használja a kernel TLS (thread-local storage) képességét. Ez okozhat olyan jelenséget, hogy a véletlenszerű érték nem véletlen, mert fordításkor kap egy értéket ami később nem változik meg.  Ha ez így van, akkor egy -ftls-model=”local-dynamic” gcc paraméter után a progi vígan dobálja a sok NaN-t. Nektek melyik gcc van fent (nekem a 4.3.0)?

            #2177782
            uzsolt
            Felhasználó
              kisbetu wrote:
              Te valami warez linugzot használsz, warez gcc-vel.

              Csatlakoztam a klubhoz.

              #2177783
              uzsolt
              Felhasználó
                kisbetu wrote:
                Te valami warez linugzot használsz, warez gcc-vel.

                Csatlakoztam a klubhoz.

                #2177784
                zoltan22
                Felhasználó
                  gabaman wrote:
                  Nektek melyik gcc van fent (nekem a 4.3.0)?

                  Nalam 4.2.2, uhu 2.1-eshez „gyarilag” csomagolt.

                  #2177785
                  zoltan22
                  Felhasználó
                    gabaman wrote:
                    Nektek melyik gcc van fent (nekem a 4.3.0)?

                    Nalam 4.2.2, uhu 2.1-eshez „gyarilag” csomagolt.

                    #2177786
                    uzsolt
                    Felhasználó

                      gcc (PLD-Linux) 4.3.2 20080911 (release)

                      #2177787
                      uzsolt
                      Felhasználó

                        gcc (PLD-Linux) 4.3.2 20080911 (release)

                      10 bejegyzés megtekintése - 61-70 / 81
                      • Be kell jelentkezni a hozzászóláshoz.