CyberGenius
1 / 1 / 0
Регистрация: 23.08.2012
Сообщений: 100
|
|
#1 | |
Повторный запуск main() равен перезапуску программы? - C++30.04.2014, 15:22. Просмотров 3266. Ответов 18
Метки нет Все метки)
(
Добрый день. Если в коде какой либо функции я вызову main() c которой у меня начинается выполнение программы, то будет ли это равно перезапуску программы(освобождение всей используемой до этого памяти и т.д) и если нет, то каким образом в коде можно прописать, чтобы программа запустилась заново? С освобождением все занятой до этого памяти и уничтожением всех созданных объектов? Среда разработки VS2012
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
30.04.2014, 15:22 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Повторный запуск main() равен перезапуску программы? (C++):
18
Чтение и запись в файл. Повторный запуск - C++ повторный прогон программы - C++ Запуск программы без создания окна. Запуск фоновой программы - C++
Организовать диалог на повторный запукск программы - C++
|
Ilot
![]() |
|
30.04.2014, 15:26 | #2 |
Должно быть вам следует смотреть в сторону потоков.
http://www.cplusplus.com/reference/thread/thread/
0
|
TenGen
Будущее рядом
99 / 97 / 20
Регистрация: 06.03.2014
Сообщений: 342
|
||||||
30.04.2014, 15:27 | #3 | |||||
CyberGenius,
![]() имхо, вам можно просто вызывать из консоли вашу же программу, после чего завершать работу. Но могу ошибаться либо заведите функцию обнуления всех переменных и в том же экземпляре программы сбрасывайте все значения на стартовые
1
|
CyberGenius
1 / 1 / 0
Регистрация: 23.08.2012
Сообщений: 100
|
||||||
30.04.2014, 15:57 [ТС] | #5 | |||||
Вообщем, поступил так:
0
|
Croessmah
Ушел
|
||||||
30.04.2014, 16:04 | #6 | |||||
уберите эту ересь.
Просто для примера:
0
|
CyberGenius
1 / 1 / 0
Регистрация: 23.08.2012
Сообщений: 100
|
|
30.04.2014, 16:07 [ТС] | #7 |
Croessmah, а как тогда лучше поступить?
0
|
CyberGenius
1 / 1 / 0
Регистрация: 23.08.2012
Сообщений: 100
|
|
30.04.2014, 16:56 [ТС] | #9 |
Мне нужно завершить программу и запустить её заново.
0
|
Tulosba
:)
![]() 4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
30.04.2014, 17:12 | #10 |
Для этого должна быть другая программа-менеджер. Не стоит заниматься самозапуском/самозавершением.
С чего вообще возникла необходимость периодического запуска/завершения программы? Может достаточно функции (в новом потоке)?
0
|
CyberGenius
1 / 1 / 0
Регистрация: 23.08.2012
Сообщений: 100
|
|
30.04.2014, 17:23 [ТС] | #11 |
Я работаю с библиотекой OpenCV и время от времени она перестает работать как надо, проблема скорей всего с утечками памяти или еще чем то, проблему пока найти не могу. Перезапуск программы решает проблему и является приемлемым решение проблемы на данном этапе.
0
|
Tulosba
:)
![]() 4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
30.04.2014, 17:54 | #12 |
Создайте тему, я думаю, вам помогут. Это лучше, чем искать обходные маневры в виде периодического перезапуска.
Вы же понимаете, что это в любом случае временное решение. И как я уже писал ранее, в таком случае следует создать новую программу, которая будет управлять запуском/перезапуском.
0
|
CyberGenius
1 / 1 / 0
Регистрация: 23.08.2012
Сообщений: 100
|
||||||
30.04.2014, 18:04 [ТС] | #13 | |||||
А чем конкретно плохо такое решение проблемы?
0
|
TenGen
Будущее рядом
99 / 97 / 20
Регистрация: 06.03.2014
Сообщений: 342
|
|
30.04.2014, 18:22 | #15 |
CyberGenius, потому что лучше от ошибки избавиться, а не избавляться от последствий
0
|
30.04.2014, 18:22 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
30.04.2014, 18:22 |
Привет! Вот еще темы с ответами:
15
Запуск ассемблерного кода на выполнение из main() - C++ Написать int main() для программы - C++ Переписать main программы чтения текстовых строк - C++
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |