Я немного смущен тем, как лучше всего устанавливать точки входа для приложений C++, я пытался найти некоторые ответы на этот вопрос, но все, что я видел, касалось как это сделать а не почему.
Допустим, у меня есть настольное приложение Windows с двумя конфигурациями сборки: Debug и Release. Debug имеет подсистему SYSTEM:CONSOLE
, так что я могу запускать и просматривать определенные журналы в окне консоли, в то время как Release имеет подсистему SYSTEM:WINDOWS
.
По умолчанию точкой входа Debug будет main
, тогда как точкой входа Release будет WinMain
. Это означает определение main(args)
и WinMain(args)
в моем файле main.cpp
. Вот несколько вопросов, которые у меня есть по этому поводу:
- Будет ли лучше установить точку входа для выпуска на
mainCRTStartup
и не иметьWinMain(args)
, или определить иmain
, иWinMain
вmain.cpp
? - Существуют ли существенные различия или риски при установке точки входа?
- Изменится ли какой-либо из этих ответов, если мое приложение поддерживает Unicode, то есть использует
wmain
/wWinMain
? - Если это не хороший пример использования настроек Entry Point, то что может быть лучше? И если это является хорошим примером использования настроек точки входа, что может быть примером того, что настройки точки входа не используются?
main
, либо вWinMain
? Итак, как предложил Retired Ninja, просто выделить консоль, если она нам нужна? 01.03.2021