main与WinMain的区别
2012-10-16 13:46
330 查看
main 是一般C程序的进入点:
int main(int argc, char *argv[ ], char *envp[ ]);
{
……
}
WinMain 则是Windows 程序的进入点:
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
……
}
在 Win32 中 CALLBACK 被定义为 __stdcall,是一种函数调用习惯,关系到参数挤压到堆栈的次序,以及处理堆栈的责任归属。其它的函数调用习惯还有_pascal和_cdecl 。
当Windows的「外壳」(shell,例如 Windows 3.1的程序管理员或Windows 95的文件总管)侦测到使用者意欲执行一个 Windows 程序,于是调用加载器把该程序加载,然后调用C startup code,后者再调用WinMain,开始执进程序。WinMain 的四个参数由作业系统传递进来。
int main(int argc, char *argv[ ], char *envp[ ]);
{
……
}
WinMain 则是Windows 程序的进入点:
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
……
}
在 Win32 中 CALLBACK 被定义为 __stdcall,是一种函数调用习惯,关系到参数挤压到堆栈的次序,以及处理堆栈的责任归属。其它的函数调用习惯还有_pascal和_cdecl 。
当Windows的「外壳」(shell,例如 Windows 3.1的程序管理员或Windows 95的文件总管)侦测到使用者意欲执行一个 Windows 程序,于是调用加载器把该程序加载,然后调用C startup code,后者再调用WinMain,开始执进程序。WinMain 的四个参数由作业系统传递进来。
相关文章推荐
- _tmain(), wmain(), winmain(), _twinmain()这些函数的区别
- main(),_tmain(),WinMain(),wmain()四个函数区别
- 将main、WinMain封装
- 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)
- Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别
- WinMain和MFC的区别
- _tmain与main的区别
- _tmain()和main()区别
- Java Main方法中String[] args 与 String args[]区别
- Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别
- vs中 main和_tmain的区别
- 主函数 main WinMain _tmain _tWinMain 的区别
- _tmain与main,winMain,wmain收藏
- WinMain和main
- 主函数 main WinMain _tmain _tWinMain 的区别
- _tmain()和main()区别
- main方法中调用run()和start()的区别
- WinMain中的Console与main中的Window
- _tmain()和main()的区别
- 主函数 main WinMain _tmain _tWinMain 的区别