|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|||||||||||||||||||||
Остановка выполнения программы на C++16.11.2019, 21:49. Показов 10551. Ответов 62
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане! Столкнулся со следующей проблемой. Сейчас работаю над проектом (отправка кодов решений на C++ и их проверка на сервере с помощью PHP). Получается отправить программу из окна редактора и проверить ее с помощью тестов, а также замерить время выполнения каждого теста, но возникает проблема, замер времени происходит только после запуска и завершения программы, а мне нужно выйти из нее до ее завершения по исчечении 1-2 секунд (то есть, обработать ошибку TLE (Time Limit Exceeded)). Средставми PHP этого достигнуть не получается, так как необходим выход из программы до ее завершения. Поэтому, я решил делать остановку внутри кода на C++. Я никогда раньше не делал такого и нужно приблизительно следущее:
Код программы на C++:
Очень буду благодарен за ваш ответ, так как мы сами пока не знаем что делать. Добавлено через 39 минут Получилось сделать замер в начале и конце программы, но я не уверен, что это наилучший вариант. Вот, что получилось:
0
|
|||||||||||||||||||||
| 16.11.2019, 21:49 | |
|
Ответы с готовыми решениями:
62
Остановка выполнения консольной программы без system("pause")
Полная остановка программы |
|
Just Do It!
|
||
| 17.11.2019, 20:43 | ||
|
DrOffset, а интересно, и как раз в тему, зачем буст то? стандартного <thread>'а разве не хватает? если честно, я думал, уже сто человек предложили код без буста на чистом стандартном <thread>
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 17.11.2019, 20:47 | |||
|
Можно сделать на std::, но будет чуть больше кода, чуть выше сложность.
0
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 17.11.2019, 21:13 | ||
|
А вот буст как раз никакая не пушка; это набор разнокалиберного оружия. И оттуда я взял подходящее по условию и трудозатратам на реализацию. Учитывая, что буст сейчас практически везде есть, использование его не представляет никакой проблемы. Восприятие буста как монолитной системы, или как экзотики, - устарело и уходят корнями в начало 2000х. Современный плюсовик не должен его бояться.
0
|
||
|
Just Do It!
|
||||||||
| 17.11.2019, 21:36 | ||||||||
|
указать на
Добавлено через 5 минут
0
|
||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 17.11.2019, 21:51 | ||
|
В Visual Studio boost использует автоподключение либ (через прагму). Иногда, если студия новая, а буст старый - автоподключение работает неправильно и предлагает к линковке не ту версию, и тогда появляются такие ошибки, что не найдена библиотека. Еще такая ошибка может быть, если версия компилятора в студии одна, а буст поставили для другой (имеются в виду скомпилированные библиотеки). Тогда автоподключение работает правильно, выбирает соответствующие либы для линковки, но естественно не находит их, т.к. версия-то стоит другая. Вообще конечно, одной из причин, почему я сделал пример на бусте - ТС написал, что эксплуатироваться это будет на Ubuntu, а там-то как раз таких проблем не бывает.
0
|
||
|
Just Do It!
|
|||
| 17.11.2019, 22:45 | |||
|
мда, C::B я уже давненько не запускал, а ваще из аскетичных самая лучшая иде, имхо.
0
|
|||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
||
| 18.11.2019, 01:27 [ТС] | ||
|
DrOffset, мне удалось поставить boost для CodeBlocks. Но я не знаю как изменить ваш код, чтобы работало. Выдает кучу ошибок. Сама библиотека работает.
Добавлено через 5 минут
0
|
||
|
Just Do It!
|
|||||||
| 18.11.2019, 05:19 | |||||||
Входные(текущие) на тест: user_main выполняется за 1 секунду. (увеличить(больше 6 сек), чтобы проверить срабатывание на лимит(6сек)) Таймер на лимит настроен на 6 секунд. Добавлено через 2 минуты надо бы тестовый стенд замутить, но на глаз вроде работает
1
|
|||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||||||
| 18.11.2019, 09:13 | ||||||||
Сообщение было отмечено XLAT как решение
РешениеКод работает. Вы же понимаете, что это очень некрасиво, вот так просить о помощи, но при этом не предоставлять ничего, что могло бы способствовать эту помощь осуществить? Хотя бы ошибки покажите.
1
|
||||||||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 20:35 [ТС] | |
|
DrOffset, здравствуйте. Извините, что отнимаю у вас время. Мне до сих пор не смогли установить сервер. Произошла какая-то ошибка и они снова устанавливают. Вот скриншот из поста 30 (ваш последний код). Запуск на CodeBlocks 17.12 привел вот к такому исходу:
0
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 20:38 [ТС] | |
|
Вот более подробный снимок. Я забыл развернуть стек с ошибками:
0
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 20:41 [ТС] | |
|
XLAT, здравствуйте! Спасибо, что уделили внимание. Запуск вашего кода привел к такому исходу:
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 18.11.2019, 20:44 | |
|
Fixer_84, какой версии у вас компилятор в CodeBlocks?
0
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 20:47 [ТС] | |
|
DrOffset, gcc (tdm64-1) 4.9.2
0
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 20:52 [ТС] | |
|
DrOffset, если вернуться к более простому варианту с boost. Ваш код из поста 4 выдал такие ошибки:
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 18.11.2019, 21:12 | |||
|
Лучше поставить вот этот: https://sourceforge.net/projec... e/download А еще лучше, чтобы больше не мучиться, поставить MSYS2 и в ней уже и mingw, и boost, и остальное, что нужно. Там гарантированно все верно и совместимо.
0
|
|||
|
0 / 0 / 0
Регистрация: 18.11.2019
Сообщений: 2
|
|
| 18.11.2019, 21:20 | |
|
Fixer,добрый день,очень хотел бы с вами связаться,есть вопрос по С++
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||||
| 18.11.2019, 21:40 | ||||||
![]() Вот: MinGW не видит класс thread Добавлено через 5 минут Когда флажок не поднят ошибка будет такая:
По этой же причине у него не работает мой код.
0
|
||||||
| 18.11.2019, 21:40 | |
|
Как реализовать задержку выполнения определённой части программы без полной задержки всей программы?
Последовательность выполнения программы Очерёдность выполнения программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание:
как одно здание порождает конфликты требований,
которые никто не планировал
Материалы для обсуждения с МГСУ · 2026
Рисунки внутри приложенного ворд файла.
Что за. . .
|
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования?
Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная.
Где разрыв
. . .
|
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно»
Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
|
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую:
Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
|
|
25 модель здравосохранения и функциональных требований к пищеблоку: конфликты функциональных требований.
anaschu 22.06.2026
Есть ли данные о том, какие функциональные/ эксплуатационные требования или их сочетания труднее всего учитывать при проектировании зданий?
Да, такие данные есть, и они хорошо описаны и в российской,. . .
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые энергоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерированы
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|