如何从头开始写一个 Windows Native App(非子系统)

本文介绍了如何从头开始编写一个不依赖任何子系统的Windows Native App,详细步骤包括创建项目、修改配置、添加依赖、编写入口代码,并通过vcpkg安装phnt库。开发Native App的优势在于性能提升、功能增强、依赖减少和灵活性提升。文章最后展示了如何运行和调试Native App。
摘要由CSDN通过智能技术生成

引言

在 Windows 中,我们的进程通常都运行在一个叫 Windows 的子系统上。在 Windows 子系统上分为 console、GUI 等子系统。进程如果想要调用系统 API,通常都需要先调用子系统的 API,来做一次转换。简单结构如下:

而这里我们说的 Native App 呢,它是不依赖任何子系统,可以直接通过 ntdll.dll 来调用系统 API 的。简单结构如下:

Native App 的优势

对比普通的 Win32 或者说其他子系统应用,主要有以下几个优势

  • 性能好。使用 native 接口,可以绕过标准 Windows 应用程序接口,从而去掉一个软件层,可以加快运行速度。
  • 功能强大。标准 Windows Api 无法提供的功能,也可能通过 Native Api 来实现。
  • 依赖少。不依赖子系统的 dll,减少很多依赖。
  • 灵活性好。此应用不依赖子系统,所以不用等子系统启动后才能运行。

开发 Hello Native

创建项目

VS 中是没有 native 应用的模板的,所以这里我们先创建一个 console app,然后基于 cosnole app 来进行修改部分配置即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值