Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Размер стека и Dev-C++, Как правильно задать размер стека 
V
    Опции темы
GorbunovDiman
Дата 20.1.2012, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Доброго времени суток. У меня вопрос для тех кто встречался с Dev-C++.
Для увеличение размера стека в Visual C++ 
используется деректива
Код

#pragma comment(linker,STACK:xxx);


для gcc/g++ 
Код

-Wl,stack,xxx


Но уже к компилятору.

Сам вопрос: как сделать тоже самое в Dev-C++?

Сразу,предостерегая вопросы зачем мне это надо, скажу: это нужно для олимпиадного программирования,где я точно знаю максимальные размеры массивов и тп. Ключевым фактором является время, так что решения с динамическим выделением не предлагать(я их и сам знаю)!

Вот код
Код

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int i,j=3000000;
    bool k[j];
    for(i=1;i<=j;++i) k[i]=0;
    system("PAUSE");
    return EXIT_SUCCESS;
}



который приводит к краху. Его я использовал для проверки размера стека. Как его можно увеличить хотя бы до 16 мб.
PM MAIL   Вверх
feodorv
Дата 20.1.2012, 13:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Стек должен динамически расширяться. Скорее всего, первоначальный размер стека порядка 1 мегабайт.

Цитата(GorbunovDiman @  20.1.2012,  13:29 Найти цитируемый пост)
приводит к краху

Есть подозрение, что причина краха не в стеке.

Цитата(GorbunovDiman @  20.1.2012,  13:29 Найти цитируемый пост)
for(i=1;i<=j;++i) k[i]=0;

А вот где-то здесь. Может, правильнее было бы:
Код

for(i=0;i<j;++i) k[i]=0;

???


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
bsa
Дата 20.1.2012, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



в настройках проекта укажи данную опцию (dev-c++ использует gcc).

Значительного выигрыша в быстродействии по сравнению с динамическим выделением ты не получишь. Так как динамически можно выделить только один раз в начале программы.
Просто по любому при запуске программы будет происходить выделение памяти. Только в первом случае это сделает загрузчик программы, а во втором - ты сам.
PM   Вверх
GorbunovDiman
Дата 20.1.2012, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Цитата


Есть подозрение, что причина краха не в стеке.


Нет, она в стеке. Эта строка была для наглядности. Крах происходит и без неё.

Цитата

в настройках проекта укажи данную опцию


А вот с этого момента, пожалуйста, по подробнее.Я как раз здесь и не разобрался.
PM MAIL   Вверх
bsa
Дата 20.1.2012, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Tools - compiler options.
не то? я не использую dev-c++.
PM   Вверх
GorbunovDiman
Дата 20.1.2012, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Всем огромное спасибо за ответы. Проста я в опциях компилятора этот параметр указал компилу а надо было линкеру и отсюда была проблема.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.