Kääntäjän bugiko?

ihmettelevä_testailija

Eli minulla on seuraavanlainen metodi:

procedure TForm1.Test(ASrc : Integer; ASrc2 : Integer);
var
P : PByte;
begin
P := @ASrc; // P = 0x12F5BC
ShowMessage(IntToStr(Integer((P^))));

Dec(P, 4); // P = 0x12F5B8

//P := @ASrc2; // P = 0x12F5B8

// Näyttää väärän arvon kun Dec käytössä vaikka
// Osoite on sama kuin suoralla sijoituksella, miksi, eli kun käytän suoraa sijoitusta (kommentoitu) tuo näyttää oikein?
ShowMessage(IntToStr(Integer((P^))));
end;

En ymmärrä miksi tuo näyttää tuon viimeisen arvon päin mäntyä, kutsu on seuraavanlainen:
Test(5,8);

Delphi on CodeGear™ Delphi® 2007 for Win32® R2 Version 11.0.2804.9245

3

582

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • hemmoit

      Jäi vähän epäselväksi mikä on ko koodin tarkoitus...

      Mutta miksi PByte (Osoitin 8 bittiseen arvoon) 32 bittiselle integerille ? eikö PInteger ole olemassa...

      Haluatko nyt lisätä ASrc arvoon 4, vai yritätkö saada selville ASrc2:sen osoiteen pinossa (joka olisi kikkaillua) ?

      • Ihmettelevä_testailija

        Joo, tosiaan tarkoitus oli saada selville tuon pinon logiikka/arvot, aloittelija kun olen, osaatko siis kertoa tarkemmin kuinka tuon teen, teoria on kyllä hallussa, mutta eipä tuo käytäntö oikein. Eikö tavu pointteri tuossa ole ihan ok?


      • öty-
        Ihmettelevä_testailija kirjoitti:

        Joo, tosiaan tarkoitus oli saada selville tuon pinon logiikka/arvot, aloittelija kun olen, osaatko siis kertoa tarkemmin kuinka tuon teen, teoria on kyllä hallussa, mutta eipä tuo käytäntö oikein. Eikö tavu pointteri tuossa ole ihan ok?

        Dec(P, 8) ... Taitaa olla 64 bittinen voit tietenkin käyttää tavupointteria mutta jos laitat 255 suuremman luvun niin huomaat mitä tapahtuu, jos taas "P:Pinteger" niin pitää olla Dec(P,2) eli vähennetään 2 integeriä Kokeile myös "pointer" ja "PWord"


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Oho! Sofia Belorf ja "rillimiljönääri-rakas" sai somen liekkeihin: "Optikko vai grillikioskin...?"

      "Rillimiljönääri-rakas" on kyllä hyvä titteli!!! Tsemppiä Sofialle rakkauteen ja terkkuja Nikolle ja Stefanille! Lue l
      Kotimaiset julkkisjuorut
      25
      2048
    2. Jos voisit kääntää kelloa taaksepäin

      Mihin hetkeen palaisit?
      Ikävä
      122
      1213
    3. Pitäisikö valtion lopettaa Terveysjättien tukeminen

      Nyt annetaan puoli miljardia veroparatiiseihin ja kavereille, eikö olisi järkevää että valtio tukee vain Julkista puolta
      Maailman menoa
      134
      1188
    4. Mitä luulet kaivattusi ajattelevan sinusta?

      Oletko ollut hänen mielestään reilu, rehellinen ja ymmärtäväinen? Vai oletko hänen mielestään se, joka ei ollut reilu ei
      Ikävä
      9
      1056
    5. Sofia ei taida tajuta, että kaikki nauravat hänelle

      Sofia feikkaa luksuslokkeilua muttei tajua, että se aiheuttaa lähinnä myötähäpeää ja kaikki nauravat hänelle.
      Kotimaiset julkkisjuorut
      145
      962
    6. Yllätyskäänne: Kivitipun huutokauppa rauksesi, myynnissä uudelleen.

      Kivitipusta käydään edelleen kauppaa, vaikka alkuperäinen huutokauppamyynti raukesikin. https://ilkkapohjalainen.fi/ta
      Lappajärvi
      36
      873
    7. Mikä oli se suurin syy, ettet kertonut tunteistasi?

      Olisitko voinut tai halunnut?
      Ikävä
      62
      767
    8. Mukava nainen on

      Hyvännäköinen ja jollain tavalla räväkkä. Katsoin häntä, mutta mietin sinua kuitenkin. Ihan vaikka koko pitäjän kauneimm
      Ikävä
      54
      760
    9. Lauantai aaumua

      Silmät aukesivat todellisuuteen. Hyvää huomenta. ☕🍁😊❤️
      Ikävä
      142
      756
    10. Pertikki out

      Lopeta nyt Pertikki tuo poliitiikan jauhaminen täällä. Mene jonnekin poliitiikan erikoissivuille ja jankkaa tuota muuall
      70 plus
      185
      742
    Aihe