Microsoft Visual C++ 2010 Express创建C语言程序能不能建立空工程,为啥网上都说建立win32控制台程序?

新建工程的时候:win32控制台和空项目有什么区别,他们最终创建.c文件的顺序一样。... 新建工程的时候:win32控制台和空项目有什么区别,他们最终创建.c文件的顺序一样。 展开
 我来答
冷酷船长
2020-05-21 · TA获得超过252个赞
知道小有建树答主
回答量:310
采纳率:65%
帮助的人:99.4万
展开全部
首先我们来理解你写出来的代码 [ .c 文件 ] 后,如果选择 win32 控制台程序会发生什么

首先根据每一个函数将代码分离开,每一个函数前面都会标记这是什么函数

方便如果要用到(无论是你的代码内要调用,还是系统要调用你的函数)时刻查找
然后将你的代码,转化为某个CPU架构下的特定可以识别的语言
(你可以理解为汇编,要讲精确类似 i86 那些的文档可以自己去看)
然后到了  SDK 的部分,这个会是一个量身定制的东西,他会给你的代码套上一层,
在某个特定平台下,要运行的特定东西的壳,然后当你运行程序的时刻,他会先运行这个壳,然后才会到你的代码,类似你的控制台程序有个窗口,可是你不知道他是从哪里来的。
当然这个壳也不是加到你的程序里去了,一般就是写个动态调用路径,然后全系统的控制台(窗口管理相关的)程序共用一个代码。
当然这个壳在执行完基本的初始化后,就会调用你的代码,一般来说会找到你的代码里的
main函数作为入口,然后开始执行的说
其实我不是特别了解windows平台,特定的名词可能不知道。
【现在回到为什么不能仅仅是空项目】
你可以有你的代码,可是编译链接器,需要知道给你套哪层壳,并且在什么样的环境下运行,比如刚才说的(窗口管理相关的动态链接代码),你就需要让编译链接器,知道你是在WINDOWS下,还是ANDORID手机下运行,然后他才会提前安排好这些位置,并且每个平台有特定的可执行文件的格式,类似这是一个文件,有一部分是放数据的,一部分是放代码的,不过如何去阅读。
【 简单来说,指定生成什么程序,赋予给了他 SDK 】
一套完整的程序运行环境,并且给你做了不少的看不见的操作
【 而一个空项目,只是有一份代码 】
1.做成哪个CPU架构下的程序呢

2. 我给外面套上什么样的壳呢
(特定操作系统的可执行程序的格式)

(特定操作系统的动态库链接位置)
【其实你找一个程序反汇编看看,里面不止你写的那点玩意】
你就能理解,一个空项目有点说明不够呢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式