main()与_tmain()区别
生活随笔
收集整理的這篇文章主要介紹了
main()与_tmain()区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先,這個(gè)_tmain()是為了支持unicode所使用的main一個(gè)別名而已,既然是別名,應(yīng)該有宏定義過的,在哪里定義的呢?就在那個(gè)讓你困惑的<stdafx.h>里,有這么兩行#include <stdio.h>
#include <tchar.h>我們可以在頭文件<tchar.h>里找到_tmain的宏定義 #define _tmain main所以,經(jīng)過預(yù)編譯以后, _tmain就變成main了,這下明白了吧。
*******************************************************************************
那么具體有什么區(qū)別呢?
main()是標(biāo)準(zhǔn)C++的函數(shù)入口。標(biāo)準(zhǔn)C++的程序入口點(diǎn)函數(shù),默認(rèn)字符編碼格式ANSI
函數(shù)簽名為:
int main();
int main(int argc, char* argv[]);
_tmain()是微軟操作系統(tǒng)(windows)提供的對unicode字符集和ANSI字符集進(jìn)行自動轉(zhuǎn)換用的程序入口點(diǎn)函數(shù)。
函數(shù)簽名為:
int _tmain(int argc, TCHAR *argv[])
當(dāng)你程序當(dāng)前的字符集為unicode時(shí),int _tmain(int argc, TCHAR *argv[])會被翻譯成
int wmain(int argc, wchar_t *argv[])
當(dāng)你程序當(dāng)前的字符集為ANSI時(shí),int _tmain(int argc, TCHAR *argv[])會被翻譯成
int main(int argc, char *argv[])
函數(shù)簽名為:
int main();
int main(int argc, char* argv[]);
_tmain()是微軟操作系統(tǒng)(windows)提供的對unicode字符集和ANSI字符集進(jìn)行自動轉(zhuǎn)換用的程序入口點(diǎn)函數(shù)。
函數(shù)簽名為:
int _tmain(int argc, TCHAR *argv[])
當(dāng)你程序當(dāng)前的字符集為unicode時(shí),int _tmain(int argc, TCHAR *argv[])會被翻譯成
int wmain(int argc, wchar_t *argv[])
當(dāng)你程序當(dāng)前的字符集為ANSI時(shí),int _tmain(int argc, TCHAR *argv[])會被翻譯成
int main(int argc, char *argv[])
總結(jié)
以上是生活随笔為你收集整理的main()与_tmain()区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言中结构体的初始化
- 下一篇: 【简单易懂】c++中组合与聚合