int* a = (int*) 0x000003b8; -> Error !????
Под Win2k Server при написании такой строки программа дает сбой. а - адресуется на ???.
Происходит какая-то фигня.
Помогите, пожалуйста. Может я давно не спал и чего-то не понимаю...
Как с этим бороться (или у меня руки кривые?)?
Люди!!!
Под Win2k Server при написании такой строки программа дает сбой. а - адресуется на ???.
Происходит какая-то фигня.
Помогите, пожалуйста. Может я давно не спал и чего-то не понимаю...
Как с этим бороться (или у меня руки кривые?)?
То есть ты хочеш создать указатель на конкретный адрес? :) Мда.. Нельзя так :) Да и зачем?
То есть ты хочеш создать указатель на конкретный адрес? :) Мда.. Нельзя так :) Да и зачем?
Можно так!!!! Под ДОСом точно можно:
char *Computer = (char *)0xF000FFFE;
(В.В.Подбельский "Язык Си++" стр.112).
Мне необходимо считывать данные по определенному адресу и выполнять действия в зависимости от значения.
Можно так!!!! Под ДОСом точно можно:
char *Computer = (char *)0xF000FFFE;
(В.В.Подбельский "Язык Си++" стр.112).
Мне необходимо считывать данные по определенному адресу и выполнять действия в зависимости от значения.
Незнаю как в 9х и ме (думую что так же) но в XP w2k есть механизм называемый MMU (устройство управлению памятью), каждому прочесс обладает адресным пространством в 4гига(в хп он вроде больше GetSystemInfo()) и как бы все твои ссылки на адрес перещитываются от твоего нулевого байто каторый выделен тебе как нулевой, и в другое адресное пространство тебе никто не даст влесть..
Незнаю как в 9х и ме (думую что так же) но в XP w2k есть механизм называемый MMU (устройство управлению памятью), каждому прочесс обладает адресным пространством в 4гига(в хп он вроде больше GetSystemInfo()) и как бы все твои ссылки на адрес перещитываются от твоего нулевого байто каторый выделен тебе как нулевой, и в другое адресное пространство тебе никто не даст влесть..
Угу, все верно. Вобще в любой многозадачной системе память организована примерно так, и то что работает в ДОСе не будет работать в виндозе (вот и стихами заговорил :))