Ich arbeite gerade an einer Konsolenanwendung für Windows 10 und frage mich, was der main() Einstiegspunkt sein sollte.Was ist der korrekte Einstiegspunkt für eine Win32-Konsolenanwendung?
In Jeffrey Richter und Christophe Nasarre des "Windows via C/C++" (2007) auf Seite 69, heißt es:
Ihre Windows-Anwendung eine Einstiegspunktfunktion ... als C haben muss/C++ Entwickler, gibt es zwei mögliche Einstiegspunktfunktion Sie verwenden können:
int WINAPI _tWinMain(HINSTANCE hInstanceExe, HINSTANCE, PTSTR pszCmdLine, int nCmdShow); int _tmain(int argv, TCHAR *argv[], TCHAR *envp[]);
Das Buch zu identifizieren geht, dass diese beiden Einspeisepunkten tatsächlich abgebildet unterschiedliche Einstiegspunkte durch den Compiler, je nachdem, ob der Anwendung ist GUI oder Konsole und ob Un icode wird verwendet.
Ich möchte den richtigen Einstiegspunkt für eine Win32-Konsolen-App mit Unicode verwenden, also nehme ich an (?), Ich möchte die _tmain-Version jedoch beim Öffnen eines neuen Projekts in Visual Studio 2015 Community Edition auswählen „Win32-Konsole app“, und wählen Sie dann „Console Application“, beende ich mit Haupt-up() wie ich unter Linux gewohnt bin:
int main()
Welche Einstiegspunkt sollte ich verwenden?
ich würde 'wmain' und vermeiden' TCHAR' wie die Pest. http://stackoverflow.com/questions/2438049/what-is-the-difference-between-wmain-and-main –
Danke für den Link. Ich stimme zu - TCHAR (wie ich es verstehe), wird auf wchar_t abgebildet, wenn UNICODE im Projekt definiert ist (was VS 2015 CE standardmäßig vorgibt), aber ist es eher ein Überbleibsel von wann mussten sich Leute um ANSI versus Unicode kümmern? – VariableX
'TCHAR' in der Theorie ermöglicht es Ihnen, für Ansi oder Unicode zu kompilieren. In der Praxis werden Sie entweder nie für beide kompilieren oder wenn Sie es tun, wird nicht das einzige sein, was Sie ändern müssen. –