當(dāng)前位置:
首頁(yè) >
main()与_tmain()区别
發(fā)布時(shí)間:2025/1/21
47
豆豆
生活随笔
收集整理的這篇文章主要介紹了
main()与_tmain()区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先,這個(gè)_tmain()是為了支持unicode所使用的main一個(gè)別名而已,既然是別名,應(yīng)該有宏定義過(guò)的,在哪里定義的呢?就在那個(gè)讓你困惑的<stdafx.h>里,有這么兩行#include <stdio.h>
#include <tchar.h>我們可以在頭文件<tchar.h>里找到_tmain的宏定義 #define _tmain main所以,經(jīng)過(guò)預(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)提供的對(duì)unicode字符集和ANSI字符集進(jìn)行自動(dòng)轉(zhuǎn)換用的程序入口點(diǎn)函數(shù)。
函數(shù)簽名為:
int _tmain(int argc, TCHAR *argv[])
當(dāng)你程序當(dāng)前的字符集為unicode時(shí),int _tmain(int argc, TCHAR *argv[])會(huì)被翻譯成
int wmain(int argc, wchar_t *argv[])
當(dāng)你程序當(dāng)前的字符集為ANSI時(shí),int _tmain(int argc, TCHAR *argv[])會(huì)被翻譯成
int main(int argc, char *argv[])
函數(shù)簽名為:
int main();
int main(int argc, char* argv[]);
_tmain()是微軟操作系統(tǒng)(windows)提供的對(duì)unicode字符集和ANSI字符集進(jìn)行自動(dòng)轉(zhuǎn)換用的程序入口點(diǎn)函數(shù)。
函數(shù)簽名為:
int _tmain(int argc, TCHAR *argv[])
當(dāng)你程序當(dāng)前的字符集為unicode時(shí),int _tmain(int argc, TCHAR *argv[])會(huì)被翻譯成
int wmain(int argc, wchar_t *argv[])
當(dāng)你程序當(dāng)前的字符集為ANSI時(shí),int _tmain(int argc, TCHAR *argv[])會(huì)被翻譯成
int main(int argc, char *argv[])
總結(jié)
以上是生活随笔為你收集整理的main()与_tmain()区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言中结构体的初始化
- 下一篇: 利用指针的指针,修改被调函数的局部值【传