电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>WIL Windows实现库

WIL Windows实现库

2022-06-22 | zip | 0.49 MB | 次下载 | 2积分

资料介绍

授权协议 MIT
开发语言 C/C++
操作系统 Windows
软件类型 开源软件
所属分类 程序开发常用工具包

软件简介

Windows Implementation Libraries (WIL) 是一个只包含头文件的 C++ 库,可以让 Windows 开发者通过易读的类型安全的 C++ 接口来实现通用的 Windows 编码模式。

主要包括:

  • include/wil/resource.h (documentation): Smart pointers and auto-releasing resource wrappers to let you manage Windows API HANDLEs, HWNDs, and other resources and resource handles with RAII semantics.
  • include/wil/win32_helpers.h: Wrappers for API functions that save you the work of manually specifying buffer sizes, calling a function twice to get the needed buffer size and then allocate and pass the right-size buffer, casting or converting between types, and so on.
  • include/wil/registry.h: Registry watchers that can call a lambda function or callback you provide whenever a certain tree within the Windows registry changes.
  • include/wil/result.h (documentation): Preprocessor macros to help you check for errors from Windows API functions, in many of the myriad ways those errors are reported, and surface them as error codes or C++ exceptions in your code.

WIL can be used by C++ code that uses C++ exceptions as well as code that uses returned error codes to report errors. All of WIL can be used from user-space Windows code, and some (such as the RAII resource wrappers) can even be used in kernel mode.

Consuming WIL via NuGet

You can consume WIL via a NuGet package. To do so, follow the instructions on nuget.org. This package includes the header files under the include directory as well as a .targets file

Building/Testing

To get started testing WIL, first make sure that you have a recent version of Visual Studio installed. If you are doing any non-trivial work, also be sure to have a recent version of Clang installed. Once everything is installed, open a VS native command window (e.g. "x64 Native Tools Command Prompt for VS 2019"). From here, you can either invoke CMake directly:

C:\wil> mkdir build
C:\wil> cd build
C:\wil\build> cmake -G Ninja ..

Or through one of the scripts in the scripts directory:

C:\wil> scripts\init.cmd -c clang -g ninja -b debug

If you initialized using Ninja as the generator, you can build the tests like so:

C:\wil\build\clang64debug> ninja

Or, if you want to only build a single test (e.g. for improved compile times):

C:\wil\build\clang64debug> ninja witest.noexcept

If you initialized using MSBuild as the generator, there will be a .sln file in the root of the build directory. You can either open the solution in Visual Studio or invoke MSBuild directly to build.

The output is a number of test executables. If you used the initialization script(s) mentioned above, or if you followed the same directory naming convention of those scripts, you can use the runtests.cmd script, which will execute any test executables that have been built, erroring out - and preserving the exit code - if any test fails. Note that MSBuild will modify the output directories, so this script is only compatible with using Ninja as the generator. If you are at the tail end of of a change, you can execute the following to get a wide range of coverage:

C:\wil> scripts\init_all.cmd
C:\wil> scripts\build_all.cmd
C:\wil> scripts\runtests.cmd

Note that this will only test for the architecture that corresponds to the command window you opened. You will want to repeat this process for the other architecture (e.g. by using the "x86 Native Tools Command Prompt for VS 2019")

 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1ADI高性能电源管理解决方案
  2. 2.43 MB   |  449次下载  |  免费
  3. 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
  4. 5.67 MB   |  136次下载  |  1 积分
  5. 3基于STM32单片机智能手环心率计步器体温显示设计
  6. 0.10 MB   |  123次下载  |  免费
  7. 4550W充电机原理图
  8. 0.13 MB   |  2次下载  |  6 积分
  9. 5USB的PD快充协议电压诱骗控制器FS312A中文手册
  10. 1.51 MB   |  2次下载  |  免费
  11. 6USB的PD和OC快充协议电压诱骗控制器FS312B中文手册
  12. 1.35 MB   |  2次下载  |  免费
  13. 7USB Type_C PD快充协议智能触发芯片FS8025B应用手册
  14. 1.48 MB   |  1次下载  |  免费
  15. 8ADI公司串行端口开发和故障排除指南
  16. 343.09KB   |  1次下载  |  免费

本月

  1. 1ADI高性能电源管理解决方案
  2. 2.43 MB   |  449次下载  |  免费
  3. 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
  4. 5.67 MB   |  136次下载  |  1 积分
  5. 3基于STM32单片机智能手环心率计步器体温显示设计
  6. 0.10 MB   |  123次下载  |  免费
  7. 4使用单片机实现七人表决器的程序和仿真资料免费下载
  8. 2.96 MB   |  44次下载  |  免费
  9. 53314A函数发生器维修手册
  10. 16.30 MB   |  31次下载  |  免费
  11. 6美的电磁炉维修手册大全
  12. 1.56 MB   |  22次下载  |  5 积分
  13. 7使用TL431设计电源
  14. 0.67 MB   |  10次下载  |  免费
  15. 8感应笔电路图
  16. 0.06 MB   |  10次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935119次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420062次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233084次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191367次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183335次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81581次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73807次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65987次下载  |  10 积分