Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Программирование —› вопрос по наворотам С++... |
Посл.ответ | Сообщение |
|
Создано: 09 июля 2007 10:30 · Личное сообщение · #1 ... знатоки С++ , подскажите пожалуйста, что сие написанное значит, имеется в виду не что такое : PIMAGE_NT_HEADERS, и long, а именно сам синтаксис:
PIMAGE_NT_HEADERS pPE=static_cast<struct _IMAGE_NT_HEADERS>NTSIGNATURE((long)hMap);
...
ЗЫ кстати , а да ладно , и за это спасибо.... |
|
Создано: 09 июля 2007 10:57 · Личное сообщение · #2 |
|
Создано: 09 июля 2007 11:51 · Личное сообщение · #3 |
|
Создано: 09 июля 2007 12:06 · Личное сообщение · #4 (long)&(pPE->OptionalHeader) ---- берем указатель на OptionalHeader и превращаем его в лонг + pPE->FileHeader.SizeOfOptionalHeader ----- добавляем его длину (PIMAGE_SECTION_HEADER) ---- превращаем это в указатель на IMAGE_SECTION_HEADER странно что в одном и том же куске кода используются и C++ кастинги и старые сишные |
|
Создано: 09 июля 2007 12:09 · Личное сообщение · #5 |
|
Создано: 09 июля 2007 15:32 · Личное сообщение · #6 |
|
Создано: 10 июля 2007 12:08 · Личное сообщение · #7 Первая строка после раскрытия макроса будет: PIMAGE_NT_HEADERS pPE=static_cast<struct _IMAGE_NT_HEADERS>((LPVOID)((BYTE *)(long)hMap + ((PIMAGE_DOS_HEADER)(long)hMap)->e_lfanew)); но скорее всего автор имел ввиду: PIMAGE_NT_HEADERS pPE=reinterpret_cast<struct _IMAGE_NT_HEADERS *>NTSIGNATURE(hMap); т.к иначе врядли скомпилируется |
eXeL@B —› Программирование —› вопрос по наворотам С++... |
Эта тема закрыта. Ответы больше не принимаются. |