1. GUI 和 CUI 分别表示 图形和控制台的界面,
2./SUBSYSTEM:CONSOLE 和 /SUB-SYSTEM:WINDOWS 分别是控制台和窗口的链接器开关
3._tWinMain 图形界面的入口点函数 和
_tmain 控制台界面的入口点函数。
一、Windows一般可以建立两种应用程序。
1.GUI程序 - 图形用户界面 - 它使用的连接器开关是/SUBSYSTEM:CONSOLE
2.CUI程序 - 控制台界面 - 它使用的连接器开关是/SUB-SYSTEM:WINDOWS
操作系统会加载并检查可执行文件映像的文件头,并获取这个子系统值。
根据子系统值来创建 一个符合要求的程序界面。
二、 Windows 应用程序 都会有个入口点函数,在程序运行时,函数会被调用。
int WINAPI _tWinMain(
HINSTANCE hInstanceExe,
HINSTANCE,
PTSTR pszCmdLine,
int nCmdShow);
int _tmain(
int argc,
TCHAR *argv[],
TCHAR *envp[]);
操作系统实际并不调用我们所写的入口点函数。相反,它会调用由C/C++运行库实现并链接时使用-entry:命令选项来设置
的一个C/C++运行时启动函数。该函数将初始化C/C++运行库,使我们能调用malloc和free之类函数。
应用程序类型和相应的入口点函数表
应用程序类型
入口点函数(入口)
嵌入可执行文件的启动函数
处理ANSI字符和字符串的GUI应用程序
_tWinMain (WinMain)
WinMainCRTStartup
处理Unicode字符和字符串的GUI应用程序
_tWinMain (wWinMain)
wWinMainCRTStartup
处理ANSI字符和字符串的CUI应用程序
_tmain (Main)
mainCRTStartup
处理Unicode字符和字符串的CUI应用程序
_tmain (Wmain)
wmainCRTStartup
9 7 3 1 2 3 4 8 :
本文来源:不详 作者:佚名