Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2012, 18:00   #1
stpdqstns
Пользователь
 
Регистрация: 04.11.2012
Сообщений: 33
По умолчанию Тип функции входной функции (C++)

Начал изучать Win API по учебнику Рихтера, там пишется, что все входные функции вызываются следующим образом:
Код:
int nMainRetVal = main(__argc, __argv, _environ);
или
Код:
GetStartupInfo(&StartupInfo);
int nMainRetVal = WinMain(GetModuleHandle(NULL), NULL, pszCommandLineANSI,
(StartupInfo.dwFlags & STARTF_USESHOWWINDOW)
? StartupInfo.wShowWindow : SW_SHOWDEFAULT);
, и потом :
Цитата:
Когда Ваша входная функция входная функция возвращает управлениеб стартовая обращается к функции exit библиотеки C/C++ и передает ей значение nMainRetVal
.
А что если моя функция main возвращает тип void? Рихтер что-то не уточнил?
stpdqstns вне форума Ответить с цитированием
Старый 20.11.2012, 19:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Именно поэтому void и не рекомендуют возвращать
Пусть твоя main() возвращает число. EXIT_SUCCESS какой-нить
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2012, 22:12   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от stpdqstns Посмотреть сообщение
Рихтер что-то не уточнил?
Рихтер исходит из того, что до его учебника вы прочитали учебник по С. По стандарту, main возвращает int. Все остальное - вольная интерпретация отдельно взятого компилятора.
waleri вне форума Ответить с цитированием
Старый 23.11.2012, 22:29   #4
stpdqstns
Пользователь
 
Регистрация: 04.11.2012
Сообщений: 33
По умолчанию

Мне кажется я взялся не за ту книжку, "Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows". Я не могу понять, понимаю ли я эту книгу, вроде бы написано понятно, как-то могу представить себе работу функции, но как-то все размыто. Например, неплохое начало было, приведены 4 входные функции, а потом бац, рассказ о переменных окружения, функции как их менять, получать, но без примера, что даст применение этих функций, и вообще когда лучше их поюзать, а когда лучше не трогать. Сразу же обработка ошибок, и различные таблички с константами и макросами. В общем, в голове путаница возникает. Могли бы вы посоветовать, как лучше врубиться в Win API? Мб есть книжечка по проще, на подобие учебников Шилдта? Буду весьма признателен за полезные советы.
stpdqstns вне форума Ответить с цитированием
Старый 23.11.2012, 23:32   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
а потом бац, рассказ о переменных окружения, функции как их менять, получать
А что поделать, если с этого начинаются проги... Ну на переменные окружения можно забить в начале.
p51x вне форума Ответить с цитированием
Старый 24.11.2012, 00:47   #6
LancX
Пользователь
 
Аватар для LancX
 
Регистрация: 30.04.2012
Сообщений: 52
По умолчанию

Цитата:
Сообщение от stpdqstns Посмотреть сообщение
Мне кажется я взялся не за ту книжку, "Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows". Я не могу понять, понимаю ли я эту книгу, вроде бы написано понятно, как-то могу представить себе работу функции, но как-то все размыто. Например, неплохое начало было, приведены 4 входные функции, а потом бац, рассказ о переменных окружения, функции как их менять, получать, но без примера, что даст применение этих функций, и вообще когда лучше их поюзать, а когда лучше не трогать. Сразу же обработка ошибок, и различные таблички с константами и макросами. В общем, в голове путаница возникает. Могли бы вы посоветовать, как лучше врубиться в Win API? Мб есть книжечка по проще, на подобие учебников Шилдта? Буду весьма признателен за полезные советы.
Книга не для новичков) WinApi написан на С, без "основ" трудно понять зачем все это надо, а книг попроще, конкретно по WinApi толковых нет, онли msdn.
При любом расчете, число, правильность которого для всех очевидна, становится источником ошибок.
LancX вне форума Ответить с цитированием
Старый 29.11.2012, 13:17   #7
stpdqstns
Пользователь
 
Регистрация: 04.11.2012
Сообщений: 33
По умолчанию

Цитата:
Сообщение от LancX Посмотреть сообщение
Книга не для новичков) WinApi написан на С, без "основ" трудно понять зачем все это надо, а книг попроще, конкретно по WinApi толковых нет, онли msdn.
Ну как бы с основами знаком, 2 шилда прочел лафоре, стл, если вы о этом.
Кстати есть вопрос, решил не создавать под него отдельную тему. Например есть игра, как можно реализовать нажатие кнопки в этой игре средствами вин апи?
stpdqstns вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
тип функции the_deer_one Общие вопросы C/C++ 4 17.06.2011 16:19
тип функции с++ Эндрю Помощь студентам 1 10.05.2011 14:41
указать возвращаемый тип функции )) vedro-compota Общие вопросы Delphi 4 23.04.2010 09:17
Помогите определить тип функции RNT Помощь студентам 10 14.06.2009 23:22