|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
Код возврата main15.01.2020, 14:40. Показов 8116. Ответов 11
Метки нет (Все метки)
Приветствую всех. Определено ли стандартами C, C++, что код возврата функции
main в случае успешного завершения равен 0? Если да, то будьте добры указать ссылку...
0
|
|
| 15.01.2020, 14:40 | |
|
Ответы с готовыми решениями:
11
В чем разница между exit(код возврата) и ExitProcess (код возврата)? Как при запуска программы из командной строки узнать код возврата? Main.cpp: In function ‘int main()’: main.cpp:10:1: error: ‘then’ was not declared in this scope |
|
"C with Classes"
|
|
| 15.01.2020, 14:49 | |
|
d7d1cd, хз, мне кажется определенно, что функция main должна возвращать значение типа int, а код возврата пофигу.
0
|
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
||
| 15.01.2020, 15:02 [ТС] | ||
main не указывать возвращаемое значение (то есть, не писать return в принципе). В этом случае функция вернет 0.
0
|
||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
|
||||||
| 15.01.2020, 15:14 | ||||||
|
Код возврата из main() это код завершения программы в целом. Он нужен для объединения нескольких программ в конвейер, например так:
Таким образом, чтобы ваша программа могла взаимодействовать с другими, хорошо бы соблюдать стандарты.
0
|
||||||
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
||
| 15.01.2020, 15:26 [ТС] | ||
|
0
|
||
|
248 / 70 / 9
Регистрация: 22.07.2018
Сообщений: 321
|
|
| 15.01.2020, 15:35 | |
|
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
|
||
| 15.01.2020, 15:55 | ||
return 0;. Все остальное - коды ошибок, которые при желании тоже можно анализировать "снаружи".Кстати, если я правильно помню, диапазон возвращаемого int'а может отличаться от Си-шного. То ли он к int16_t приводится, то ли у каждой ОС свои ограничения... в общем, кодами ошибок пользуйтесь, но без фанатизма.
0
|
||
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 15.01.2020, 16:42 [ТС] | |
|
COKPOWEHEU, спасибо. Я и сам знал, что при успехе надо возвращать 0. Но сегодня "опытный" разработчик, на мой вопрос почему в его программе при успехе возвращается 1, ответил, что это стандарт С.
Кстати, возврат 0 при успехе - это стандарт или исторически сложившаяся практика?
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 15.01.2020, 17:51 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 15.01.2020, 18:33 | |
|
0
|
|
|
Вездепух
12942 / 6809 / 1821
Регистрация: 18.10.2014
Сообщений: 17,233
|
||
| 15.01.2020, 18:49 | ||
main, и ли о том, что программа возвращает в окружение?Значение EXIT_SUCCESS не обязано быть равно 0. Однако эффект return 0 в main всегда эквивалентен эффекту return EXIT_SUCCESS в том смысле, что в окружение будет возвращен один и тот же код "успешного" завершения.Если main доработала до конца без return, то код возврата эквивалентен return 0.Если речь идет именно о том, что конкретно вернется в окружение, то стандарт не определяет ни значения, ни типа этого возврата. Стандарт языка лишь говорит, что когда вы пишете return 0 или return EXIT_SUCCESS в main, то реализации обязаны вернуть в окружение некий код "успешного завершения", который не обязательно равен 0, а зависит от реализации. То есть в ответ на return 0 в некоторой реализации физически возвращаться может, скажем, 42.То есть в некоторых реализациях вполне может получится так, что return 0 ведет себя так же как и return 42 - оба возвращают код успешного завершения. В таких реализациях за макро EXIT_SUCCESS может скрываться либо 0, либо 42.
1
|
||
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
||||
| 16.01.2020, 10:03 [ТС] | ||||
main не то же самое, что программа возвращает в окружение?EXIT_SUCCESS будет равен, к примеру, 42, то return 0 в main вернет в окружение 42? ![]() Значение макроса EXIT_SUCCESS обязательно равно тому, что возвращается в окружение при успешном завершении?
0
|
||||
| 16.01.2020, 10:03 | |
|
Помогаю со студенческими работами здесь
12
Добавить функцию main() в код
Разбить исходный код на main.cpp и my.h
Как на это код добавить аргументы функции main? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|