main()与_tmain()区别
生活随笔
收集整理的這篇文章主要介紹了
main()与_tmain()区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先,這個_tmain()是為了支持unicode所使用的main一個別名而已,既然是別名,應該有宏定義過的,在哪里定義的呢?就在那個讓你困惑的<stdafx.h>里,有這么兩行#include <stdio.h>
#include <tchar.h>我們可以在頭文件<tchar.h>里找到_tmain的宏定義 #define _tmain main所以,經過預編譯以后, _tmain就變成main了,這下明白了吧。
*******************************************************************************
那么具體有什么區別呢?
main()是標準C++的函數入口。標準C++的程序入口點函數,默認字符編碼格式ANSI
函數簽名為:
int main();
int main(int argc, char* argv[]);
_tmain()是微軟操作系統(windows)提供的對unicode字符集和ANSI字符集進行自動轉換用的程序入口點函數。
函數簽名為:
int _tmain(int argc, TCHAR *argv[])
當你程序當前的字符集為unicode時,int _tmain(int argc, TCHAR *argv[])會被翻譯成
int wmain(int argc, wchar_t *argv[])
當你程序當前的字符集為ANSI時,int _tmain(int argc, TCHAR *argv[])會被翻譯成
int main(int argc, char *argv[])
函數簽名為:
int main();
int main(int argc, char* argv[]);
_tmain()是微軟操作系統(windows)提供的對unicode字符集和ANSI字符集進行自動轉換用的程序入口點函數。
函數簽名為:
int _tmain(int argc, TCHAR *argv[])
當你程序當前的字符集為unicode時,int _tmain(int argc, TCHAR *argv[])會被翻譯成
int wmain(int argc, wchar_t *argv[])
當你程序當前的字符集為ANSI時,int _tmain(int argc, TCHAR *argv[])會被翻譯成
int main(int argc, char *argv[])
總結
以上是生活随笔為你收集整理的main()与_tmain()区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言中结构体的初始化
- 下一篇: 利用指针的指针,修改被调函数的局部值【传