[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Общего плана ->Предложения по развитию DL 1, 2, 3
Автор Сообщение
Данила Зюрин

Темы: 0
Сообщений: 1

Мой профиль
Сделать игры :3
Алексей Тузик

Темы: 0
Сообщений: 6

Мой профиль
Обновите, пожалуйста, компилятор C++.
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль
От: Vadim Kopichenko
Отправлено: Monday, June 16, 2014 8:28 PM
Кому: Michael Dolinsky

Добавил на все Дельты поддержку языков GNU C 4.8.1 и GNU C++ 4.8.1.
Кроме nit_server, который сейчас недоступен. 
Кирилл Гулин

Темы: 0
Сообщений: 2

Мой профиль


Михаил Долинский:

От: Vadim Kopichenko
Отправлено: Monday, June 16, 2014 8:28 PM
Кому: Michael Dolinsky

Добавил на все Дельты поддержку языков GNU C 4.8.1 и GNU C++ 4.8.1.
Кроме nit_server, который сейчас недоступен. 
 


Дико извиняюсь, но где он, этот компилятор?
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль
Добавил возможность его использования в курсы
"Методы алгоритмизации"
"Олимпиады по информатике"


Кирилл Гулин

Темы: 0
Сообщений: 2

Мой профиль
В задаче выдает ошибку:

Ошибка компиляции:компилятор затребовал много памяти (>65740800

Но на Codeforces (GNU C++ 4.7) все прекрасно компилируется.

Почему так? Мне кажется, что дело не в коде, а в компиляторе

Кстати, отправлял код, который на CNU C++ 3.4.2 зашел на 50/100, а на 4.8.1 вообще не компилируется.
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль
От: Michael Dolinsky
Отправлено: Thursday, September 11, 2014 7:19 PM
Кому: 'Vadim Kopichenko'
Тема: RE: Пожалуйста, посмотри - поправь, ответь

Сделай когда сможешь, пожалуйста
 
-----Original Message-----
From: Vadim Kopichenko
Sent: Thursday, September 11, 2014 7:15 PM
To: Michael Dolinsky
Subject: Re: Пожалуйста, посмотри - поправь, ответь


Быстро не смогу.

Четверг, 11 сентября 2014, 19:12 +03:00 от "Michael Dolinsky"

http://dl.gsu.by/NForum/posts/topicshow/1198.dl?postid=53215#53215
Стас Копиченко

Темы: 2
Сообщений: 16

Мой профиль


Кирилл Гулин:

В задаче выдает ошибку:

Ошибка компиляции:компилятор затребовал много памяти (>65740800

Но на Codeforces (GNU C++ 4.7) все прекрасно компилируется.

Почему так? Мне кажется, что дело не в коде, а в компиляторе

Кстати, отправлял код, который на CNU C++ 3.4.2 зашел на 50/100, а на 4.8.1 вообще не компилируется. 


Поднял на Дельтах лимит памяти компилятора в четыре раза.
Теперь ошибка про нехватку памяти не воспроизводится.

На будущее, желательно точно указывать курс, задачу, время и имя отсылки, чтобы повысить вероятность рассмотрения вопроса. )
Алексей Тузик

Темы: 0
Сообщений: 6

Мой профиль
Было бы круто, если бы решения на C++ компилировались с ключом -Wl,--stack=Ограничение_по_памяти_в_килобайтах (как это сделано в Codeforces).

Без этого ключа, например, возникает Runtime Error на 9 тесте в задаче USACO \2012\December\Gold\3 - "RUNAWAY" (курс "Олимпиады по информатике", время отсылки 2.1 13:55)
Павел Голуб

Темы: 5
Сообщений: 120

Мой профиль


Алексей Тузик:

Было бы круто, если бы решения на C++ компилировались с ключом -Wl,--stack=Ограничение_по_памяти_в_килобайтах (как это сделано в Codeforces).

Без этого ключа, например, возникает Runtime Error на 9 тесте в задаче USACO \2012\December\Gold\3 - "RUNAWAY" (курс "Олимпиады по информатике", время отсылки 2.1 13:55) 

Может я и неправ, но компиляторов C++ 2 - MSVC и gcc.

На gcc, например, по правилам ACM финалов стек 8 Mb. На нём можно использовать dfs, если всё аккуратно писать. Но любой рекурсивный алгоритм можно переписать без участия рекурсии (используя стек и массив(ы) переменных). Такой код обычно работает быстрее и требует не намного больше времени для написания.
На MSVC существует команда
#pragma comment(linker,"/STACK:10000000")
которая увеличивает стек до нужного размера.

Можно также попытаться подавить проверку во время выполнения, но это уже экстрим и результат не гарантирован
Алексей Тузик

Темы: 0
Сообщений: 6

Мой профиль
Ну, все равно странно, что с GNU C++ 3.4.2 зашло, а с GNU C++ 4.8.1 - нет
Павел Голуб

Темы: 5
Сообщений: 120

Мой профиль
Разные компиляторы, по разному используют стек на функции. Без учёта размера кода тратится где-то 2,5 МБ (2*10^5*( 4+4 /*параметры*/ + 4/*локальный указатель*/) (стандарт 4 МБ стек). Сколько места займёт код зависит от версии компилятора, настроек и кучи других факторов.

При рекурсии на стек ложится всё (код вызванной функции, параметры функции, локальные переменные, точки входа и возврата в функцию, может ещё что-то) столько раз, сколько она была вызвана.
Алексей Тузик

Темы: 0
Сообщений: 6

Мой профиль
Почему в курсе "Программирование - профессионалы (лич. 2014-2015)" нельзя выбирать компилятор? И почему для C++ выбирается глючный и ужасный Borland C++ 3.1, когда есть GNU C++ 4.8.1, который к тому же, я надеюсь, используется на республике. Раз это сборы к республике, предлагаю поменять стандартный компилятор для плюсов на тот, что там используется. Заранее спасибо
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль


Алексей Тузик:

Почему в курсе "Программирование - профессионалы (лич. 2014-2015)" нельзя выбирать компилятор? 

Потому что ВСЕ программы тестируются на одном из двух компиляторов
GNU C++ 4.8.1
FP Win32 v2.4.0
Алексей Тузик

Темы: 0
Сообщений: 6

Мой профиль

Потому что ВСЕ программы тестируются на одном из двух компиляторов
GNU C++ 4.8.1
FP Win32 v2.4.0
 


Да, возможно я был не прав на счет "Программирование - профессионалы (лич. 2014-2015)". По крайней мере, в протоколе не пишется компилятор.

А вот в курсе "Программирование - профессионалы (лич. 2014-2015) (P/O)" в протоколе указан Borland C++ 3.1 без возможности его изменить
 
Индекс форума ->Общего плана ->Предложения по развитию DL 1, 2, 3
Time:0,047