информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft Authenticator прекращает... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Искодник C++, а ты компилируешь его как C 08.03.03 08:12  Число просмотров: 1147
Автор: ?? . Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Что означает запись:

stack.ExpandableStackBase=PCHAR(stack.ExpandableStackBottom)+x;
^^^^^как это понять?
Что такое PCHAR ? Разве так можно тип использовать ?
<programming>
Непонятки с VC6 06.03.03 15:54  
Автор: ?? Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Проблема такая в общем
Есть пример на vc (из книжки нэббета - пример создания процесса - 6.2)
Пытаюсь откомпилить его в vc6....
Сообщения об ошибках....

Вот кусок кода

IO_STATUS_BLOCK iosb;
USER_STACK stack = {0};
OBJECT_ATTRIBUTES oa = {sizeof oa,0,name,OBJ_CASE_INSENSITIVE};
NtOpenFile(&hFile,FILE_EXECUTE | SYNCHRONIZE,&oa,&iosb,FILE_SHARE_READ,FILE_SYNCHRONOUS_IO_NONALERT);
oa.ObjectName = 0;
NtCreateSection(&hSection,SECTION_ALL_ACCESS,&oa,0,PAGE_EXECUTE,0x01000000,hFile);
NtClose(hFile);
NtCreateProcess(&hProcess,PROCESS_ALL_ACCESS,&oa,NtCurrentProcess(),TRUE,hSection,0,0);
SECTION_IMAGE_INFORMATION sii;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^вот это вот ЗДЕСЬ не нравится компилятору
NtQuerySection(hSection, SectionImageInformation,&sii,sizeof sii,0);
NtClose(hSection);

а далее компилящийся вариант того же самого,только sii раньше разместил

SECTION_IMAGE_INFORMATION sii;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^вот это вот в таком месте программы нормально компилится
IO_STATUS_BLOCK iosb;
USER_STACK stack = {0};
OBJECT_ATTRIBUTES oa = {sizeof oa,0,name,OBJ_CASE_INSENSITIVE};
NtOpenFile(&hFile,FILE_EXECUTE | SYNCHRONIZE,&oa,&iosb,FILE_SHARE_READ,FILE_SYNCHRONOUS_IO_NONALERT);
oa.ObjectName = 0;
NtCreateSection(&hSection,SECTION_ALL_ACCESS,&oa,0,PAGE_EXECUTE,0x01000000,hFile);
NtClose(hFile);
NtCreateProcess(&hProcess,PROCESS_ALL_ACCESS,&oa,NtCurrentProcess(),TRUE,hSection,0,0);
NtQuerySection(hSection, SectionImageInformation,&sii,sizeof sii,0);
NtClose(hSection);

Так вот собсна вопрос - почему приходится описание переменных вначале проги делать - иначе они не понимаются при компиляции....
Пример собирал в ддк 2000 - Free Build Environment и далее в нужном каталоге запускал nmake
Искодник C++, а ты компилируешь его как C 06.03.03 16:08  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
Искодник C++, а ты компилируешь его как C 08.03.03 08:12  
Автор: ?? . Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Что означает запись:

stack.ExpandableStackBase=PCHAR(stack.ExpandableStackBottom)+x;
^^^^^как это понять?
Что такое PCHAR ? Разве так можно тип использовать ?
Искодник C++, а ты компилируешь его как C 08.03.03 16:33  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
> Что означает запись:
>
> stack.ExpandableStackBase=PCHAR(stack.ExpandableStackBottom
> )+x;
> ^^^^^как
> это понять?
> Что такое PCHAR ? Разве так можно тип использовать ?
Приведение типа в С++-стиле. В C++ приведение даже к примитивным типам (не классам) можно записывать а-ля конструирование объекта. Правда, запись char *(stack.ExpandableStackBottom), увы, не работает - нужно пользоваться typedef.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach