...
DWORD MEMSIZE = 65536;
HANDLE hMemory;
void* pMemory;
...
hMemory = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,MEMSIZE);
pMemory = GlobalLock(hMemory);
Проблема с указателями
Проблемка такая:
я выделяю с помощью функций GlobalAlloc и GlobalLock кусок памяти. последняя функция мне возвращает указатель на первый байт памяти на void*
Код:
Подскажите как мне работать с этой памятью. т.е.:записывать значения, причем в произвольную ее область, считывать значения из определенной области. Например считать 23-й байт или записать его?
Спасибо!!!
Цитата:
Originally posted by Codman
Здравствуйте! Доброго времени суток!!
Проблемка такая:
я выделяю с помощью функций GlobalAlloc и GlobalLock кусок памяти. последняя функция мне возвращает указатель на первый байт памяти на void*
Подскажите как мне работать с этой памятью. т.е.:записывать значения, причем в произвольную ее область, считывать значения из определенной области. Например считать 23-й байт или записать его?
Спасибо!!!
Здравствуйте! Доброго времени суток!!
Проблемка такая:
я выделяю с помощью функций GlobalAlloc и GlobalLock кусок памяти. последняя функция мне возвращает указатель на первый байт памяти на void*
Код:
...
DWORD MEMSIZE = 65536;
HANDLE hMemory;
void* pMemory;
...
hMemory = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,MEMSIZE);
pMemory = GlobalLock(hMemory);
DWORD MEMSIZE = 65536;
HANDLE hMemory;
void* pMemory;
...
hMemory = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,MEMSIZE);
pMemory = GlobalLock(hMemory);
Подскажите как мне работать с этой памятью. т.е.:записывать значения, причем в произвольную ее область, считывать значения из определенной области. Например считать 23-й байт или записать его?
Спасибо!!!
Можно так:
Код:
...
DWORD MEMSIZE = 65536;
HANDLE hMemory;
BYTE* pMemory;
BYTE val23;
...
hMemory = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,MEMSIZE);
pMemory = (BYTE*)GlobalLock(hMemory);
val23 = pMemory[22];
DWORD MEMSIZE = 65536;
HANDLE hMemory;
BYTE* pMemory;
BYTE val23;
...
hMemory = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,MEMSIZE);
pMemory = (BYTE*)GlobalLock(hMemory);
val23 = pMemory[22];
Или так:
Код:
...
DWORD MEMSIZE = 65536;
HANDLE hMemory;
void* pMemory;
BYTE val23;
...
hMemory = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,MEMSIZE);
pMemory = GlobalLock(hMemory);
val23 = *(pMemory+23); //если конечно не ошибаюсь в синтаксисе.
DWORD MEMSIZE = 65536;
HANDLE hMemory;
void* pMemory;
BYTE val23;
...
hMemory = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,MEMSIZE);
pMemory = GlobalLock(hMemory);
val23 = *(pMemory+23); //если конечно не ошибаюсь в синтаксисе.
шмонофф.
Цитата:
Originally posted by shmonoff
здрась. у меня нет проблем с указателями, тк я абсолютный в этом лох. пишу вот по какому поводу. надеюсь на твоё человеколюбие, сострадание и тп. сдуру купил книжку про с++, показалось интересно. а где взять среду программирования (она же пятница) пока не понял. прошу по возможности объяснить суть данного вопроса.
шмонофф.
здрась. у меня нет проблем с указателями, тк я абсолютный в этом лох. пишу вот по какому поводу. надеюсь на твоё человеколюбие, сострадание и тп. сдуру купил книжку про с++, показалось интересно. а где взять среду программирования (она же пятница) пока не понял. прошу по возможности объяснить суть данного вопроса.
шмонофф.
Среду можешь скачать по адресу: http://www.bloodshed.net/
а по указателям: задавай вопросы отвечу.