|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|||||||||||||||||||||
Остановка выполнения программы на C++16.11.2019, 21:49. Показов 11006. Ответов 62
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане! Столкнулся со следующей проблемой. Сейчас работаю над проектом (отправка кодов решений на C++ и их проверка на сервере с помощью PHP). Получается отправить программу из окна редактора и проверить ее с помощью тестов, а также замерить время выполнения каждого теста, но возникает проблема, замер времени происходит только после запуска и завершения программы, а мне нужно выйти из нее до ее завершения по исчечении 1-2 секунд (то есть, обработать ошибку TLE (Time Limit Exceeded)). Средставми PHP этого достигнуть не получается, так как необходим выход из программы до ее завершения. Поэтому, я решил делать остановку внутри кода на C++. Я никогда раньше не делал такого и нужно приблизительно следущее:
Код программы на C++:
Очень буду благодарен за ваш ответ, так как мы сами пока не знаем что делать. Добавлено через 39 минут Получилось сделать замер в начале и конце программы, но я не уверен, что это наилучший вариант. Вот, что получилось:
0
|
|||||||||||||||||||||
| 16.11.2019, 21:49 | |
|
Ответы с готовыми решениями:
62
Остановка выполнения консольной программы без system("pause")
Полная остановка программы |
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
||
| 18.11.2019, 21:40 [ТС] | ||
|
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 18.11.2019, 21:43 | ||
|
А я говорю, что либы буста, скомпилированные у вас, от другого компилятора, не подходящего к вашему. Разбирайтесь.
0
|
||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 21:48 [ТС] | |
|
DrOffset, насчет этой ошибки: error: 'this_thread' has not been declared
Советуют использовать: "Use MinGW with POSIX threads", но я не знаю, что это значит.
0
|
|
|
Just Do It!
|
|||
| 18.11.2019, 21:54 | |||
|
а щас уже gcc4.9.2 ![]() MinGW TDM 4.9.2 64 и 32 версии (те что стандартно уже лет 5 идут вместе с Dev C++) всё работает. на кодеблоке проверить версию стандарта здесь:
0
|
|||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 21:54 [ТС] | |
|
DrOffset, У меня рядом компьютер с Ubuntu стоит. Говорят, что такой проблемы там нет. Сейчас попробую запустить еще там и вам отпишусь.
0
|
|
|
Just Do It!
|
|
| 18.11.2019, 21:57 | |
|
вот ссылка(иде вместе с компилятором 4.9.2)
https://sourceforge.net/projec... 0Releases/ за 5 лет проверено, работает всё как часы(в плане компиляции)
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||
| 18.11.2019, 21:59 | |||||
![]() ТС сам уже подтвердил, что не помогло. Зачем вы тратите мое время на эти бесполезные споры? ![]() Добавлено через 1 минуту
0
|
|||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 18.11.2019, 22:14 | ||
|
Fixer_84, с Windows всегда проблемы, если пытаться собирать себе окружение по кусочкам. Лично я уже наелся этих приколов с зависимостями еще в 2005 году, к сожалению тогда не было замечательного MSYS2 (убогий MSYS(1) без пакетного менеджера не в счет).
Еще ни один человек, которому я насоветовал отказаться от отдельных MinGW и библиотек к нему в пользу единого окружения MSYS2, не жаловался А их уже, посчитать если, больше 10 человек тут.Добавлено через 4 минуты Первая всегда была стабильней и появилась раньше. С++11, std::thread и Со, которые поддерживается в minGW, должны быть реализованы посредством одной из этих моделей. TDM реализуется через posix model (pthreads).
1
|
||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 22:17 [ТС] | |
|
DrOffset, сейчас запустил код из поста 30 на Ubuntu. Всего одна ошибка осталась - эта:
Undefined reference to 'pthread_create' Снимок сделать пока не могу, не знаю что нужно для этого в Ubuntu. Я еще boost установлю и вам отпишусь.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 18.11.2019, 22:25 | ||
|
XLAT, откройте установленный по ссылке, которую вы дали, каталог bin в mingw и увидите там библиотеки libwinpthread-1.dll или libwinpthread_64-1.dll. Или обе сразу, я уже не помню. В общем, это то, о чем я сказал чуть выше.
https://stackoverflow.com/ques... x-vs-win32 Добавлено через 1 минуту -pthread.
1
|
||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 23:05 [ТС] | |
|
DrOffset, извините, но я этих тонкостей почти не знаю. Где именно это нужно прописать?
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 18.11.2019, 23:10 | ||
|
Если в CodeBlocks, то на вкладке Linker settings, в окошке Other Linker Options.
1
|
||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 18.11.2019, 23:31 [ТС] | |
|
DrOffset, мне удалось запустить вашу программу. Если у меня возникнут дополнительные вопросы по ее работе, я могу к вам обратиться?
Добавлено через 1 минуту DrOffset, Также, я попробую запустить программу с boost и вам обязательно отпишусь. Спасибо большое, что помогли.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 18.11.2019, 23:35 | ||
|
Для использования в боевом режиме его все равно нужно еще модифицировать. Добавить возможность сигнализировать о статусах работы в вызывающее окружение (в php, я так понимаю), добавить обработку исключений, чтобы программа не падала, если пользовательский код каким-то образом будет их кидать, для Linux я бы еще добавил обработку сигналов.
1
|
||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 20.11.2019, 00:39 [ТС] | |
|
XLAT, здравствуйте! Ваш код из поста 29 рабочий. Я только что запустил его. Спасибо вам! Сейчас ложусь спать не могу больше разговаривать.
0
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 20.11.2019, 00:46 [ТС] | |
|
DrOffset, здравствуйте! Установил библиотку boost на Ubuntu, запустил, проверил, она работает, но ваш код с boost выдает ошибки. Вот скриншот. Я сейчас спать ложусь, только завтра смогу увидеть ваш ответ. Спасибо за ваш труд.
0
|
|
|
Just Do It!
|
|
| 20.11.2019, 01:21 | |
|
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 20.11.2019, 08:39 | |
|
del
0
|
|
| 20.11.2019, 08:39 | |
|
Как реализовать задержку выполнения определённой части программы без полной задержки всей программы?
Последовательность выполнения программы Очерёдность выполнения программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|