Windows零基础入门:1.10 Win32与控制台程序项目区别--补充学习内容

2549 人浏览 | 时间: 2015-07-31 21:33:35 | 作者: ericsimith 会员文章,禁止转载
了解子系统的含义,与用法
1、如何设置windows子系统

在VS中-项目-属性-连接器-系统-子系统中进行选择


在gcc中-在G++后面加入-wl,--subsystem,windows[主版本号,副版本号] 

或者采用-mwindows,注意这个是再编译器里使用上面那个是再连接器里使用

在各种其他IDE中,你只要在xxx C++ Linker -> Miscellaneous -> Linker flags 输入就可以,当然也可以在编译器里加入,在哪里我想你懂得


如果是makefile里,我想你也知道写到Linker flags里,请自己定义吧

2、不同子系统对我们有什么用呢,它的核心是什么呢

首先子系统是什么,其实是接口,大多数出现在WINDOWS中,主要是用来开发不同类型的软件的。其原理就在于windows使用的是PE文件格式,他就是针对PE来的,PE里面有很多这样的参数,他是相对PE来对应的,一般都是又连接器来完成这项工作。

问PE是什么,可移植可执行的意思,比如PE系统就是引申了PE的原意

那么subsystem中到底有些什么内容呢
boost_application 这个是windows启动环境,用于启动及其内核开发
console这个是命令行环境,这个是所以系统共享的,入口是main
POSIX这个是开发NT系统使用的应用程序
NATIVE这个必须配合/DRIVER使用,当然也可以不带这个参数,但是他是NT本地化编程中使用,多用在驱动程序等中使用
WINDOWS这个是窗口文件中使用,他的入口函数是WINMAIN或wWINMAIN
EFI系列,这个是最复杂的,首先什么是EFI呢,他是BIOS的升级版,他的升级版又是UEFI,一看到这个该懂了吧,主要是用来开发底层和PnP中用到,其发展不可估量,可以不依赖硬件,不依赖系统运行,是未来软件的新趋势,比如你要写个老毛桃U盘启动,那么我想,你要懂得一些这里的知识了
3、相关资料
第一个,https://gcc.gnu.org/ml/gcc-help/2004-01/msg00225.html,这个介绍了gcc关于使用-wl,--subsystem,windows等一些列问题的解答
第二个,百度百科PE,这个有很多分支,比如PE可执行格式,WINPE,手机PE等,建议都看看
第三个,百度百科EFI
第四个,百度百科UEFI
第五个,MSDN中的/SUBSYSTEM和LINKER OPERTION中subsysytem
第六个,这个是介绍EFI如何写的http://wenku.baidu.com/link?url=DVfvwmqIU6g3eRTsIMHJCqzOkTzrtV1cdE8XgVwQHRp3lu90WDKtLOTrh90yDxLd3tMTxolIFkmqfdXmnJk6MHqwGKNcR4p-TfAXZYdudQm

第七个,这个是介绍EFI Application有什么用的,可以开发什么http://wenku.baidu.com/link?url=zQUDdj3-jsUrxisx0lhxMIIM5X2u1MwhQkVdZcDnbLfYThu2hnVnQFLVjtU6eDIvJe0wPFOeKtIPfpcUFycaavKP2O_6RBeH36PimKoIXsC



新手抛砖引玉,教你如何深挖知识

标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

Win32课程菜单