Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вылетает Cgi…

6.9K
07 июля 2004 года
birkoff
6 / / 07.07.2004
Добрый день!
Я пишу CGI на С++ (Данный проект подходит к концу и переходить на другие языки или технологии я не собираюсь). Так как проблема достаточно необычная - я не был уверен, стоит ли задавать такой сложный вопрос на форуме. Но все же решил, может кто-то сможет мне помочь.
Вся проблема в том, что CGI некорректно завершается. А именно: Сам код написан абсолютно правильно, но при запуске, CGI вылетает, при этом в браузере отображается часть страницы(HTML), которую сгенерировал данный CGI. При отладке я заметил, что данный CGI вылетает именно на return 0;, который находится в самой функции main(); (т.е. при выходе из функции main()) Самое интересное, если я вместо return 0 использую exit(0), то все работает правильно. Т.е. ничего не вылетает, и все отображается правильно.
В чем может быть здесь проблема?

Заранее благодарен за ответы!
8.1K
17 августа 2004 года
ValterG
11 / / 16.08.2004
Цитата:
Originally posted by birkoff
Добрый день!
Я пишу CGI на С++ (Данный проект подходит к концу и переходить на другие языки или технологии я не собираюсь). ..... При отладке я заметил, что данный CGI вылетает именно на return 0;, который находится в самой функции main(); (т.е. при выходе из функции main()) Самое интересное, если я вместо return 0 использую exit(0), то все работает правильно. Т.е. ничего не вылетает, и все отображается правильно.
В чем может быть здесь проблема?


Ты сам и ответил. Нужно ставить exit.
return дергает стек, на котором уже
ничего не осталось и идет на случайный адрес...
CGI работает по принципу вызова exe-файла,
а не по принципу вызова подпрограммы -
в этом твоя ошибка.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог