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

use /Zm to specify a higher limit - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помощь новичку http://www.cyberforum.ru/cpp-beginners/thread335664.html
Пожалуйста помогите , я хочу изучить С++, подскажите с чего начать, с какой книги , какой прогой работать ?
C++ Непонятные ошибки(Linker Error) Что это за ошибки: undefined reference to `GetStockObject@4' undefined reference to `TextOutA@20' ld returned 1 exit status ? Пытался и искать ответ в инете - там говорят что нужно подключить... http://www.cyberforum.ru/cpp-beginners/thread335655.html
как мне функцию одного класса в функцию базового вставить C++
как мне функцию одного класса в функцию базового вставить??чет не хера не получается.... class Car { public : void _passat() {const float engineVolume = 11, fuel_rate = 22, body_color =...
C++ Конструктор при множественном наследовании
#include <string> class Worker // an abstract base class { private: std::string fullname; long id; public: Worker() : fullname("no one"), id(0L) {} Worker(const...
C++ Задача на побитовые операции http://www.cyberforum.ru/cpp-beginners/thread335626.html
объясните пожалуйста, как решить эту задачу: Упражнение 2.6. Напишите функцию setbits(x, p, n, y), возвращающую значение x, в котором n битов, начиная с p-й позиции, заменены на n правых...
C++ Как это запустить в wxDev-C++... Здравстуйте, простите за идиотские вопросы, но с работой в консоли под эти компилятором вроде разобрался, а программа Hello Wold на gui(трырил код откуда-то из интернетов, на линуксе заработал, но у... подробнее

Показать сообщение отдельно
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
24.07.2011, 07:52
Вообще для больших объёмов данных более 10-15 MB лучше работать с VirtualAlloc. Пример работы с 19-20 МБ, после вызова функции страницы будут освобождены.
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
BOOL CApplicationDlg::OnInitDialog() {
    CDialog::OnInitDialog();
 
    CString  str;
    long* ptr = NULL;
 
    DWORD   size = 5000 * 1024 * sizeof(long);
 
    ptr = (long*) VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);
 
            if(ptr == NULL) {
                    MessageBox("F_OUTEMEMORY", "Ошибка", MB_OK | MB_ICONSTOP);
                   return FALSE;
            }   
 
          if(IsBadReadPtr((LPVOID)ptr, size)) {  
           MessageBox("Неточное выделение page-памяти !", "Ошибка", MB_OK | MB_ICONSTOP);
          goto jump;
           }
 
    long  len = 5000 * 1024;
    for(long l = 0L; l < len; l++)
            ptr[l] =  1;
    
    unsigned long sum = 0;
    long* iter = ptr;
    while(len--)
         sum += *iter++;
 
    str.Format("%u - byte ~ %d MB", sum * sizeof(long), sum * sizeof(long) / (1024 * 1024));
    SetWindowText(str);
 
jump:;
    VirtualFree(ptr, 0U,  MEM_RELEASE);
    ptr = NULL;
   
     return TRUE;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru