hei
miten luen C-ohjelmassa esim. muistipaikan
0x20 sisällön eli ohjelman osoiteavaruuden
ulkopuolelta?
Kiitos neuvoista,
Linux-käyttäjä
muistin lukeminen
2
362
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
- 437477
Oletko keskustellut kaivatustasi muiden
Kanssa lähiaikoina? Jos, onko keskustelu ollut positiivista tai negatiivista? Vaikuttaako keskustelut mielipiteeseesi ka543713Ennen ei ollut persuja ja työttömyyttä, lääkäriinkin pääsi
Ennen oli kaikilla töitä Kauppiaille kelpasi kun saivat voittoa Yritystukia ei ollut Lääkäriin pääsi kaikki haluklaat Nu483573- 813373
Tulipalossa henkilövahinkoja, itsenäisyyspäivä alkoi huonosti, poliisi tiedottaa lisää
Savonlinna https://www.como.fi/uutiset/savonlinna-henkilovahinkoja-tulipalossa-poliisi-tiedottaa-lisaa/523200- 513034
Kyllä on Vasemmistoliitosta Koskelan johdolla tullut todellinen ääripuolue
se on niin tulipunainen kuin olla voi, ja selvästi haluaa jatkuvasti eripuraa, ja repiä kansaa kahtia. Siinä on jo vuod362842Antifasismi - mitä se on?
Se on äärivasemmistolaista anarkistista toimintaa joka käyttää fasisminvastaisuutta keppihevosena oikeuttaakseen toimint302494IL- KELA:n pääjohtaja, lääke- ja oikeustieteen tohtori Lasse Lehtonen sekavassa tilassa Brysselissä!
"Iltalehden tietojen mukaan Lehtosen käytös Brysselin lentokentällä on herättänyt huomiota, ja hänen olemuksensa on tulk1971938- 471561