Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
#1

dev c++ max stack size - C++

17.03.2013, 12:54. Просмотров 1454. Ответов 14
Метки нет (Все метки)

подскажите где в dev c++ можно выставить размер стэка,стандартного 1 мб маловато мне 3 необходимо
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 12:54
Я подобрал для вас темы с готовыми решениями и ответами на вопрос dev c++ max stack size (C++):

Поиск max и min с stack
ПОдскажите как реализовать сам поиск вообще не представляю еще могу попробовать...

Функции max, min в Dev-Cpp
Извините за возможно глупые вопросы... Начал изучать C++ только пару дней...

Заполнить квадратную матрицу змейкой по диагонали, начиная с элемента matrix[size-1][size-1]
Требуется написать программу, которая заполняет массив размерности n*n по...

Задать значения вещественным элементам массивов A(6),B(3),C(10) и вычислить Y=max(max(A),max(B),max(C)
Задать значения вещественным элементам массивов A(6),B(3),C(10) и вычислить...

Даны действительные числа A, B, C. Получить max(a,a+b)+max(a,b+c,a+b) \ 1+max(ab,bc)+max(a+bc,15,ac)
Всем привет)Помогите пожалуйста написать в С++ Даны действительные числа A, B,...

Есть ли связь между STL-stack и stack - высокопроизводительная память?
Куча источников, как всегда много отсебятины, в общем я запутался...

14
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
17.03.2013, 14:36 #2
Tools->Compiler Options, на вкладке "Compiler", "Compiler Command Line", "Add the following commands when calling compiler".
Что-то вроде "-Wl,--stack,3145728"
1
NoMasters
Псевдослучайный
1909 / 1120 / 90
Регистрация: 13.09.2011
Сообщений: 3,179
17.03.2013, 14:53 #3
Если вам мало метра стека, значит вы что-то делаете не так и увеличение его втрое ничем здесь не поможет.
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
17.03.2013, 15:05 #4
ijonhson, а для чего столько стека?
0
ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 15:21  [ТС] #5
открыть файл 3 мб

Добавлено через 37 секунд
можно его по кусочкам собирать,но ....
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
17.03.2013, 15:36 #6
Цитата Сообщение от ijonhson Посмотреть сообщение
открыть файл 3 мб
Проецируйте его частями на оперативную память.

Добавлено через 2 минуты
Цитата Сообщение от ijonhson Посмотреть сообщение
открыть файл 3 мб
А при чем здесь размер стека? Все ведь в размер оперативной памяти упирается.
0
ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 15:39  [ТС] #7
попробуйте загнать в ifstream 3 мб с 1мб стеком
1
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
17.03.2013, 16:31 #8
Цитата Сообщение от ijonhson Посмотреть сообщение
попробуйте загнать в ifstream 3 мб с 1мб стеком
Цитата Сообщение от go Посмотреть сообщение
Проецируйте его частями на оперативную память.
https://www.google.com/search?client...hannel=suggest

Не по теме:

ijonhson, случайно спасибку тебе поставил.



Добавлено через 9 минут
Цитата Сообщение от ijonhson Посмотреть сообщение
попробуйте загнать в ifstream 3 мб с 1мб стеком
А проблема в чем?

Не по теме:

Мне постоянно кажется, что Вы не о 3МБ говорите, а о 3ГБ. Так оперативки все равно может хватить. У кого как.

1
ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 16:36  [ТС] #9
да вылетит программа с ошибкой unknown software exception
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
17.03.2013, 16:48 #10
Цитата Сообщение от go Посмотреть сообщение
Проецируйте его частями на оперативную память.
Это пробовали.
Цитата Сообщение от ijonhson Посмотреть сообщение
да вылетит программа с ошибкой unknown software exception
Странный эксепшен. Я думал стэк оуверфлоу. Ну-ка код покажите.

Добавлено через 4 минуты
ijonhson, и на всякий случай: можно открыть файл несколько гигабайт. Пробуй
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
// 
 
#include <string>
#include <iostream>
#include <fstream>
 
 
int main()
{
    std::ifstream in("C:\\BigLargeTextFile.txt", std::ifstream::in);
    std::string s;
    if (!in)
    {
        std::cerr << "Error opening file!" << std::endl;
        std::system("pause");
        return -1;
    }
 
    std::getline(in, s);
 
    std::cout << s << std::endl;
 
 
           std::system("pause");
}
0
ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 16:49  [ТС] #11
stack ower в dev по ходу у него всё максимально просто
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream.h>
#include<fstream.h>
int main()
{
    int mas[786432];
    ifstream file("D:\\ij\\rb4.ij",std::ios::binary);
    file.read((char*)&mas,sizeof(mas));
    for(int i=0;i<600;i++)
    {
            cout<<mas[i]<<"\n";
            }
    system("pause");
    return 0;
    }
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
17.03.2013, 16:53 #12
Цитата Сообщение от ijonhson Посмотреть сообщение
int mas[786432];
Вот здесь грохнулась Stack overflow.
Assembler
1
2
3
4
5
; Find next lower page and probe
cs20:
        sub     eax, _PAGESIZE_         ; decrease by PAGESIZE
        test    dword ptr [eax],eax     ; probe page.
        jmp     short cs10
Посмотри код в предыдущем моем примере(наверняка не видел)

Добавлено через 2 минуты
ijonhson, ну и как вариант это память в куче выделять
C++
1
int* mas = new int[786432];
1
ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 16:57  [ТС] #13
спасибо
1
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
17.03.2013, 17:03 #14
ijonhson, блин. Я устал. Ты текстовый файл читаешь как бинарный. Пойми
Цитата Сообщение от ijonhson Посмотреть сообщение
int mas[786432];
Так ты пытаешься выделить на стеке 786432 байт.
Цитата Сообщение от go Посмотреть сообщение
int* mas = new int[786432];
А так в куче.
Но если тебе нужно всего столько памяти, то делай так. Иначе нужно мапить.
Цитата Сообщение от ijonhson Посмотреть сообщение
тогда поэлементно записывать надо,или запишется только указатель.
В коде ничего не меняется(у тебя просто память не на стеке выделена, а в куче. Какая разница?). Просто в конце добавить оператор delete[] нужно.

Добавлено через 21 секунду
Цитата Сообщение от ijonhson Посмотреть сообщение
тогда поэлементно записывать надо,или запишется только указатель.
Нет. Остальной код не меняй.

Добавлено через 2 минуты
Цитата Сообщение от ijonhson Посмотреть сообщение
спасибо
Да не за что. Просто разберись с память. Стек большой это ни есть хорошо.
0
ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 17:10  [ТС] #15
стало всё на свои места,некоторые **** сообщения на форуме завели в заблуждение насчёт того что такое стэк,а файл бинарный.
0
17.03.2013, 17:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 17:10
Привет! Вот еще темы с решениями:

Задача для курсовой: определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из чисел х и у
Определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из...

Определить значение Z=max(a,2b)*max(2a-b,b), где max(x,y)-максимальное из чисел x,y
Помогите решить задачу: Определить значение Z=max(a,2b)*max(2a-b,b), где...

Определить значение функции max(a, max(a/2, cos b))*max(2a-b,b)
Составьте программу для решения задачи. Определите значение õ=max(a, max(a/2,...

Ошибка: "Unhandled exception: Stack cookie instrumentation code detected a stack-based buffer overrun"
Не могу понять почему значение ChoiceOfPlayer меняется и почему NumberOfRow и...


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

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

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