Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Amursk55
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 5
#1

Разбор кода - C++

08.10.2013, 07:33. Просмотров 343. Ответов 1
Метки нет (Все метки)

Есть такой код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include<vcl.h>
#pragma hdrstop
#pragma argsused
#include <dos.h>
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <winnt.h>
staticintmaxindex;
staticintxfilter(EXCEPTION_POINTERS *xp)
{  intrc;
        EXCEPTION_RECORD *xr = xp->ExceptionRecord;
        CONTEXT *xc = xp->ContextRecord;
printf("Code %ul  ", (unsigned long)xr->ExceptionCode);
switch (xr->ExceptionCode) {
case EXCEPTION_BREAKPOINT:
                // just step over it (1 byte on x86)
                ++xc->Eip;
rc = EXCEPTION_CONTINUE_EXECUTION;
break;
case EXCEPTION_ACCESS_VIOLATION:
rc = EXCEPTION_EXECUTE_HANDLER;
break;
default:
                // give up
rc = EXCEPTION_CONTINUE_SEARCH;
break;
                    };
returnrc;
    }
char *getbuffer()
{SYSTEM_INFO info;
unsigned long a;
GetSystemInfo(&info);
char *rv;
rv=(char *)VirtualAlloc(NULL, maxindex=info.dwPageSize*6,     MEM_RESERVE,PAGE_READWRITE);                                         VirtualProtect (rv,1,PAGE_READONLY,&a);
returnrv;
}
 
voidputbuffer(char *p,int index, char value)
{ int code;
 
try
          {
p[index]=value;
       }
 
__except(code = xfilter(GetExceptionInformation()))
      {
printf("Index %d\n", index);
if (code!=EXCEPTION_EXECUTE_HANDLER)
    {printf("Neisvestmoeiscluchenie\n");
                 //exit(1);
    }
if (index>=maxindex)
{   printf("Vserabotaet, vsestranicizashisheniotzapisi\n");              //exit(2);
sleep ('100');
    }
VirtualAlloc(p+index, 1, MEM_COMMIT, PAGE_READWRITE);
putbuffer(p,index,value);
      }
}
 
voidfreebuffer(char *p)
{
VirtualFree(p,0,MEM_RELEASE);
 }
 
 
void main()
{  char *p=getbuffer();
for (inti=0;i<4000000;i++)   putbuffer(p, i, i&0xFF);
freebuffer(p);
 
printf("Pass #2\n");
  p=getbuffer();
    // now backwards for variety
for (int j=4000000-1;j>=0;j--)   putbuffer(p, j, j&0xFF);
freebuffer(p);
sleep ('100');
  }
Что означает в нем 10я строка и с 42й по 48ю?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 07:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разбор кода (C++):

Разбор кода - C++
Нужно разобрать код. не могу понять что тут выполняется, кроме открытия файлов #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Разбор кода - C++
Помогите, пожалуйста, разобрать данный код. Многое из этого мне еще не знакомо. Поэтому не могу уловить суть действий. Чем больше будет...

Разбор кода - C++
Здравствуйте! Подскажите, пожалуйста, что обозначает вот это Utf8_16::utf8 Utf8_16::k_Boms зачем тут нужны двоеточия :) const...

Разбор кода программы - C++
Здравствуйте! Помогите пожалуйста написать программу (на Bison+Flex), которая будет сканировать текстовый документ и выводить информацию об...

Разбор кода CSharp - C++
К сожалению с сями не знаком!(( Что знаю по коду. То он из *.dat файла выдергивает нужные данные. Вот прошу помочь с разбором кода....

Комментарии и разбор кода - C++
#include &quot;stdafx.h&quot; #include &quot;tchar.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; #include &quot;math.h&quot; #include &quot;conio.h&quot; using...

1
govorov
24 / 24 / 3
Регистрация: 25.09.2013
Сообщений: 76
08.10.2013, 08:09 #2
а тебе самому то удобно с таким оформлением код разбирать?

Добавлено через 4 минуты
Цитата Сообщение от Amursk55 Посмотреть сообщение
staticintmaxindex;
staticintxfilter(EXCEPTION_POINTERS *xp)
Это не скомпилится. Я рискну предположить, что должно быть так
C++
1
2
static int maxindex;
static int xfilter(EXCEPTION_POINTERS *xp)
10 строка - это заголовок функции, тело которой расположено сразу за ней ( "{" в начале 11 строки).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2013, 08:09
Привет! Вот еще темы с ответами:

Разбор кода программы - C++
сделали контрольную и защитить не не могу. помогите разобрать что значит код, пожалуйста. реализация LZ метода сжатия кто может...

Доскональный разбор кода C++ - C++
Ребят, объясните пожалуйста следующие строчки кода. Что происходит в результате их выполнения? int a = {10, 20, 30, 40}; vector&lt;int&gt;...

Подробный разбор кода - C++
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; typedef int (*inc_method)(char *, char *, char *, char *); int...

Разбор строчек небольшого кода - C++
Помогите разобрать каждую строку ( что она делает - описание ) #include &lt;iostream&gt; using namespace std; int main(){ unsigned...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru