hei
miten luen C-ohjelmassa esim. muistipaikan
0x20 sisällön eli ohjelman osoiteavaruuden
ulkopuolelta?
Kiitos neuvoista,
Linux-käyttäjä
muistin lukeminen
2
340
Vastaukset
- Sen tiedon tuo
Voit muuttaa kokonaisluvun 0x20 osoittimeksi ja sitten hakea osoittimen tiedon (dereference a pointer). Jos haet sopimattomasta osoitteesta, voi tulla segmentation fault. On ihan omalla vastuullasi, että osoitteessa on jotakin järkevää ja sen saa sieltä katsoa. Varmasti tunnet Linuxisi.
Jos haluat int-tyyppisen tiedon, teet näin. Kommenttia edeltävät osat ovat esittelyjä, joten ne pitää laittaa funktion tai muun blokin alkuun C-kielen sääntöjen mukaisesti.
int osoite = 0x20;
int tieto = 0;
int* ptr = (int*) osoite;
/* ja nyt luetaan & sijoitetaan tieto-muuttujaan */
tieto = *ptr;
Tämä on neljä tai kahdeksan tavua, riippuen prossusta.
Yksi tavu tulisi näin:
int osoite = 0x20;
chat tieto = 0;
char* ptr = (char*) osoite;
/* ja nyt luetaan & sijoitetaan tieto-muuttujaan */
tieto = *ptr;
Jos haluat olla tarkka, pitää osoitteet tallentaa size_t -tyyppiseen muuttujaan. size_t määritellään jossakin standardiotsikkotiedostossa. Varmaankin stdlib.h:ssa?- hemmoit
Sulautettuissa kääntäjissä käytetään tälläistä temppua:
#define OSOITE ((int *)0x20)
käyttö esim:
OSOITE = 40;
muutuja = OSOITE;
Jos kyseessä on x86, tuo 0x20 on ilmeisesti io-avaruudessa ?
http://www.faqs.org/docs/Linux-mini/IO-Port-Programming.html#s2
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Mies, mitä minun pitäisi tehdä
Niin, mitä naisen siis pitäisi tehdä, että lähestyisit ja tekisit aloitteen? Mikä on riittävä kiinnostuksen osoitus juur1531891- 1711680
Toivottavasti et mussukka elättele toiveita meikäläisen suhteen
Tiedän mitä olet touhunnut joten aivan turha haaveilla mistään enää 👍1691568Summit-tippuja Nicola sai Carolalta yllättävän viestin - Some älähtää rajusti: "Älä viitsi..."
The Summit Suomi -kisa käy kuumana kylmässä Norjan vuoristossa. Nicola tiputettiin kisasta juuri ennen finaalia. Likaise241373Sofia Virralla ja Minja Koskelalla ei mitään käsitystä terveyskeskusmaksuista!
Vasemmistopimut Sofia ja Minja täysin ulkona sote asioista, ei minkäänlaista käsitystä edes mittaluokasta, missä terveys961298Persuehdokas uhkasi tappaa "jätkän" ja ravintolayrittäjän
Kuuntele tästä kuinka meuhkaa. https://www.iltalehti.fi/politiikka/a/4eb3034d-48c5-4f31-b53c-42be3dc9607c731007Juusolle sataa vihaisia viestejä hoitajilta ja loput nauravat hänelle
Ei löydy montaakaan, joka kehuisi Juuson toimintaa ministerinä: "Selvä enemmistö Juuson päivitykseen reagoineista on su1481004- 99984
Sofia Virta vertasi Karjalan evakoita nykymatuihin
Vihreiden puheenjohtaja Sofia Virta avasi sanaisen arkkunsa, eli tyhmyyden tynnyrinsä, valtiovarainministeri Riikka Purr192899Rokotevastaiset aiheuttaneet lasten kuolemat USA:ssa, eivätkä pyydä anteeksi
Jo kaksi lasta kuollut tuhkarokkoon Texasissa, koska rokotevastaiset ovat toimillaan tuhonneet suojaavan rokotekattavuud220831