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

dev c++ max stack size - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 12:54     dev c++ max stack size #1
подскажите где в dev c++ можно выставить размер стэка,стандартного 1 мб маловато мне 3 необходимо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
17.03.2013, 14:36     dev c++ max stack size #2
Tools->Compiler Options, на вкладке "Compiler", "Compiler Command Line", "Add the following commands when calling compiler".
Что-то вроде "-Wl,--stack,3145728"
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
17.03.2013, 14:53     dev c++ max stack size #3
Если вам мало метра стека, значит вы что-то делаете не так и увеличение его втрое ничем здесь не поможет.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.03.2013, 15:05     dev c++ max stack size #4
ijonhson, а для чего столько стека?
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 15:21  [ТС]     dev c++ max stack size #5
открыть файл 3 мб

Добавлено через 37 секунд
можно его по кусочкам собирать,но ....
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.03.2013, 15:36     dev c++ max stack size #6
Цитата Сообщение от ijonhson Посмотреть сообщение
открыть файл 3 мб
Проецируйте его частями на оперативную память.

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

Не по теме:

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



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

Не по теме:

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

ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 16:36  [ТС]     dev c++ max stack size #9
да вылетит программа с ошибкой unknown software exception
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.03.2013, 16:48     dev c++ max stack size #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");
}
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 16:49  [ТС]     dev c++ max stack size #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;
    }
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.03.2013, 16:53     dev c++ max stack size #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];
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 16:57  [ТС]     dev c++ max stack size #13
спасибо
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.03.2013, 17:03     dev c++ max stack size #14
ijonhson, блин. Я устал. Ты текстовый файл читаешь как бинарный. Пойми
Цитата Сообщение от ijonhson Посмотреть сообщение
int mas[786432];
Так ты пытаешься выделить на стеке 786432 байт.
Цитата Сообщение от go Посмотреть сообщение
int* mas = new int[786432];
А так в куче.
Но если тебе нужно всего столько памяти, то делай так. Иначе нужно мапить.
Цитата Сообщение от ijonhson Посмотреть сообщение
тогда поэлементно записывать надо,или запишется только указатель.
В коде ничего не меняется(у тебя просто память не на стеке выделена, а в куче. Какая разница?). Просто в конце добавить оператор delete[] нужно.

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

Добавлено через 2 минуты
Цитата Сообщение от ijonhson Посмотреть сообщение
спасибо
Да не за что. Просто разберись с память. Стек большой это ни есть хорошо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 17:10     dev c++ max stack size
Еще ссылки по теме:

Определить значение функции max(a, max(a/2, cos b))*max(2a-b,b) C++
C++ Задача для курсовой: определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из чисел х и у
Ошибка: "Unhandled exception: Stack cookie instrumentation code detected a stack-based buffer overrun" C++

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

Или воспользуйтесь поиском по форуму:
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
17.03.2013, 17:10  [ТС]     dev c++ max stack size #15
стало всё на свои места,некоторые **** сообщения на форуме завели в заблуждение насчёт того что такое стэк,а файл бинарный.
Yandex
Объявления
17.03.2013, 17:10     dev c++ max stack size
Ответ Создать тему
Опции темы

Текущее время: 11:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru