程序的入口

操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点由连接程序设置, 不同的连接器选择的入口函数也不尽相同。在VC++下,连接器对控制台程序设置的入口函数是 mainCRTStartup,mainCRTStartup 再调用main 函数;对图形用户界面(GUI)程序设置的入口函数是 WinMainCRTStartup,WinMainCRTStartup 调用你自己写的 WinMain 函数。具体设置哪个入口点是由连接器的“/subsystem:”选项确定的,它告诉操作系统如何运行编译生成的.EXE文件。可以指定四种方式:CONSOLE|WINDOWS|NATIVE|POSIX。如果这个选项参数的值为 WINDOWS,则表示该应用程序运行时不需要控制台,有关连接器参数选项的详细说明请参考 MSDN 库。

以下四种组合,可以实现console和windows模式的混合,可以达到不弹出DOS窗口的效果,也可以达到在Windows程序中向控制台输出printf信息的目的。

 #pragma comment( linker, "/subsystem:windows /entry:WinMainCRTStartup" )
 #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )
 #pragma comment( linker, "/subsystem:console /entry:mainCRTStartup" )
 #pragma comment( linker, "/subsystem:console /entry:WinMainCRTStartup" )
 int APIENTRY WinMain(HINSTANCE hInstance,
 HINSTANCE hPrevInstance,
 LPSTR      lpCmdLine,
 int        nCmdShow)
 {
       // ...
 }
 int main(void)
 {
       // ...
 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木头编程 - moTzxx

跨域解决方案整理笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

603
来自专栏前端架构与工程

《微信小程序七日谈》- 第六天:小程序devtool隐藏的秘密

《微信小程序七日谈》系列文章: 本系列的文章并非初学教程,而是笔者在具体开发过程中遇到的问题以及部分解决方案。 笔者参与的小程序项目开发也进入尾声了,坑也踩得...

1968
来自专栏CRPER折腾记

Angular 2 + 折腾记 :(1)初识Angular-cli[官方脚手架]及脱坑要点

这个系列的进度有些跳跃性,我尽量直白点解释,但是我不是官方文档,直入主题!!!!

671
来自专栏极客猴

学会运用爬虫框架 Scrapy (三)

上篇文章介绍 Scrapy 框架爬取网站的基本用法。但是爬虫程序比较粗糙,很多细节还需打磨。本文主要是讲解 Scrapy 一些小技巧,能让爬虫程序更加完善。

693
来自专栏用户2442861的专栏

Python安装模块出错解决的办法(pip相关的安装)

然后在cmd进入命令行窗口, 进入ez_setup.py目录,我这里是下载放置在F盘,然后输入命令:python ez_setup.py 系统就会自动下载se...

233
来自专栏Android开发经验

微信小程序学习一初探“小程序”结语

722
来自专栏Python中文社区

用python搭建一个校园维基网站(二)—— 可编辑内容的首页的创建

專 欄 ❈ treelake ,Python中文社区专栏作者 项目Github地址: https://github.com/zr777/school-wik...

2108
来自专栏州的先生

【博客备案完成,恢复访问】如何直接在浏览器中查看和调试Django-Restful接口

博客zmister.com备案完成,恢复访问,同时问答系统筹备上线中,以后大家有问题可以直接在问答中进行提问:)

681
来自专栏進无尽的文章

扒虫篇 - 定位授权前地图定位造成的黑屏

公司一款App使用到了地图定位,可是从AppStore下载下来后,第一次安装完后出现了黑屏的现象。

842
来自专栏吴小龙同學

Android如何防止apk程序被反编译

作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2....

29011

扫描关注云+社区