私は現在、Windows 10のコンソールアプリケーションで作業していますが、main()エントリポイントが何であるべきなのか不思議です。ジェフリー・リヒターと69ページ(2007年)クリストフNasarreの "C/C++を経由してWindowsの" ではWin32コンソールアプリケーションの正しいエントリポイントは何ですか?
、それは述べて:
あなたのWindowsアプリケーションは、エントリポイント関数を持っている必要があります... Cのように/ C++開発者は、あなたが使用できる2つの可能なエントリポイント関数があります
int WINAPI _tWinMain(HINSTANCE hInstanceExe, HINSTANCE, PTSTR pszCmdLine, int nCmdShow); int _tmain(int argv, TCHAR *argv[], TCHAR *envp[]);
本は、これらの2つのエントリ・ポイントが実際にかどうかに応じて、コンパイラによって異なるエントリポイントにマッピングされていることを識別するために行きますアプリケーションはGUIまたはコンソールであり、Un icodeが使用されます。
ユニコードを使用するWin32コンソールアプリケーションの正しいエントリポイントを使用したいので、私は(?)と仮定していますが、_tmainバージョンが必要です。ただし、Visual Studio 2015 Community Editionで新しいプロジェクトを開き、私は
int main()
を使用すべきエントリポイント:「Win32コンソールアプリ」、次に「コンソールアプリケーション」を選択し、私は()私はLinuxでに慣れているように、メインで終わりますか?
:あなたは前の回答ではこれについての詳細を読むことができます。 http://stackoverflow.com/questions/2438049/what-is-the-difference-between-wmain-and-main –
リンクをありがとう。私は同意する - TCHAR(私がそれを理解しているように)、UNICODEがプロジェクトのdefine'd(VS 2015 CEのデフォルト値)ではwchar_tにマップされるだろうが、ANSIとUnicodeを心配する必要がある時から、 – VariableX
'TCHAR'理論では、ansiまたはunicodeのためにコンパイルできます。実際には、あなたは両方のためにコンパイルすることはありませんか、またはあなたが変更する必要がある唯一のものではありません。 –