
windows C/C++和汇编语言
文章平均质量分 80
介绍windows 平台的C/C++开发技术、汇编语言
程序员王马
windows驱动工程师,从事windows 底层开发10年,开发过Serial、1394、stream、Image、Network、USB、GNSS、MBBCx、BlueTooch、Wifi、NCM等几乎所有类别的驱动程序开发项目。
展开
-
windows C++-winrt的一些技巧
应用程序可以插入 XAML 中的一些扩展点,例如:可以从 Control 运行时类派生自定义控件,而该运行时类本身派生自基本运行时类。 以下是一些可在派生类中替代的 Control、FrameworkElement 和 UIElement 的 overridable 方法。 下面的代码示例演示了如何执行该操作。可重写方法在不同语言投影中呈现出不同形式。 例如,在 C# 中可重写方法通常呈现为受保护的虚拟方法。 在 C++/WinRT 中,它们既不是虚拟的也不是受保护的,但你仍可以覆盖它们并提供你自己的原创 2024-08-20 00:15:00 · 668 阅读 · 0 评论 -
windows C++-通过 C++/WinRT 创作 COM 组件(四)
C++/WinRT 可以帮助你创作经典组件对象模型 (COM) 组件(或组件类),就像它可以帮助你创作 Windows 运行时类一样。 本主题演示如何执行该操作。原创 2024-08-20 00:15:00 · 737 阅读 · 0 评论 -
windows C++-通过 C++/WinRT 创作 COM 组件(一)
C++/WinRT 可以帮助你创作经典组件对象模型 (COM) 组件(或组件类),就像它可以帮助你创作 Windows 运行时类一样。 本主题演示如何执行该操作。原创 2024-08-18 00:45:27 · 472 阅读 · 0 评论 -
windows C++- C++/WinRT和COM组件(下)
可以通过 C++/WinRT 库的工具来使用 COM 组件,例如 DirectX API 的高性能 2D 和 3D 图形。 C++/ WinRT 是在不影响性能的情况下使用 DirectX 的最简单方法。 本文借助一个 Direct2D 代码示例演示如何通过 C++/WinRT 使用 COM 类和接口。 当然,你也可以在同一个 C++/WinRT 项目中混合使用 COM 和 Windows 运行时编程方法。本文的末尾提供了一个精简 Direct2D 应用程序的完整源代码列表。 我们将提取该代码的摘录内容原创 2024-08-18 00:45:06 · 529 阅读 · 0 评论 -
windows C++- C++/WinRT和COM组件(上)
可以通过 C++/WinRT 库的工具来使用 COM 组件,例如 DirectX API 的高性能 2D 和 3D 图形。 C++/ WinRT 是在不影响性能的情况下使用 DirectX 的最简单方法。 本文借助一个 Direct2D 代码示例演示如何通过 C++/WinRT 使用 COM 类和接口。 当然,你也可以在同一个 C++/WinRT 项目中混合使用 COM 和 Windows 运行时编程方法。本文的末尾提供了一个精简 Direct2D 应用程序的完整源代码列表。 我们将提取该代码的摘录内容原创 2024-08-17 00:15:00 · 772 阅读 · 0 评论 -
windows C++- Com技术简介(下)
COM技术简介原创 2024-08-16 00:15:00 · 1106 阅读 · 0 评论 -
windows C++-任务完成源的创建
windows C++ TaskCompletionSource 异步转同步的实现原创 2024-08-17 00:15:00 · 297 阅读 · 0 评论 -
windows C++- Com技术简介(上)
COM技术的简单介绍原创 2024-08-16 00:15:00 · 1328 阅读 · 0 评论 -
windows C++-高级并发和异步(四)
windows C++-高级并发和异步原创 2024-08-15 00:15:00 · 467 阅读 · 0 评论 -
windows C++-高级并发和异步(三)
windows C++高级技术原创 2024-08-15 00:15:00 · 447 阅读 · 0 评论 -
windows C++-高级并发和异步(二)
C++ 高级并发和异步技术详解原创 2024-08-14 00:15:00 · 1010 阅读 · 0 评论 -
windows C++-高级并发和异步(一)
C++ 高级并发和异步技术详解原创 2024-08-14 00:15:00 · 703 阅读 · 0 评论 -
windows C++-并发和异步操作(下)
本主题介绍协同例程和 co_await 的概念,我们建议你在 UI 应用程序和非 UI 应用程序中使用它们。 为了简单起见,本介绍主题中的大多数代码示例演示了 Windows 控制台应用程序 (C++/WinRT) 项目。 本主题中后面的代码示例使用协同例程,但为方便起见,控制台应用程序示例还会在退出前继续使用阻止性的 get 函数调用,这样应用程序就不会在显示其输出之前退出。 不要通过 UI 线程这样做(调用阻止性的 get 函数), 而应使用 co_await 语句。 高级并发和异步主题介绍了将要在 U原创 2024-08-13 00:15:00 · 746 阅读 · 0 评论 -
windows C++-并发和异步操作(上)
本文介绍协同例程和 co_await 的概念,我们建议你在 UI 应用程序和非 UI 应用程序中使用它们。 为了简单起见,本介绍主题中的大多数代码示例演示了 Windows 控制台应用程序 (C++/WinRT) 项目。 本文中后面的代码示例使用协同例程,但为方便起见,控制台应用程序示例还会在退出前继续使用阻止性的 get 函数调用,这样应用程序就不会在显示其输出之前退出。 不要通过 UI 线程这样做(调用阻止性的 get 函数), 而应使用 co_await 语句。 高级并发和异步主题介绍了将要在 UI原创 2024-08-13 00:15:00 · 943 阅读 · 0 评论 -
windows C++-使用 C++/WinRT 的集合
在内部,Windows 运行时集合具有大量复杂的移动部件。 但要将集合对象传递到 Windows 运行时函数,或要实现自己的集合属性和集合类型时,C++/WinRT 中有函数和基类可以提供支持。 这些功能消除复杂性,并节省大量时间和精力上的开销。IVector 是由元素的任意随机访问集合实现的 Windows 运行时接口。 如果要自己实现 IVector,还需要实现 IIterable、IVectorView 和 IIterator。 即使需要自定义的集合类型,也需要做大量工作。 但如果你在 std::原创 2024-08-12 00:15:00 · 862 阅读 · 0 评论 -
windows C++-C++/WinRT 中创建组件和事件(下)
说明如何通过 C++/WinRT 创建和使用 Windows 运行时组件 - 一种可以从使用任何 Windows 运行时语言生成的通用 Windows 应用调用的组件。用 C++/WinRT 生成 Windows 运行时组件有多种原因。在复杂或计算密集型操作中发挥 C++ 的性能优势。重复使用已编写和测试的标准 C++ 代码。向用 C# 等语言编写的通用 Windows 平台 (UWP) 应用公开 Win32 功能。通常,在创作 C++/WinRT 组件时,可以使用标准 C++ 库中的类型和内原创 2024-08-12 00:15:00 · 543 阅读 · 0 评论 -
windows C++-C++/WinRT 中创建组件和事件(中)
说明如何通过 C++/WinRT 创建和使用 Windows 运行时组件 - 一种可以从使用任何 Windows 运行时语言生成的通用 Windows 应用调用的组件。用 C++/WinRT 生成 Windows 运行时组件有多种原因。在复杂或计算密集型操作中发挥 C++ 的性能优势。重复使用已编写和测试的标准 C++ 代码。向用 C# 等语言编写的通用 Windows 平台 (UWP) 应用公开 Win32 功能。通常,在创作 C++/WinRT 组件时,可以使用标准 C++ 库中的类型和内原创 2024-08-10 00:15:00 · 837 阅读 · 0 评论 -
windows C++-C++/WinRT 中创建组件和事件(上)
说明如何通过 C++/WinRT 创建和使用 Windows 运行时组件 - 一种可以从使用任何 Windows 运行时语言生成的通用 Windows 应用调用的组件。用 C++/WinRT 生成 Windows 运行时组件有多种原因。在复杂或计算密集型操作中发挥 C++ 的性能优势。重复使用已编写和测试的标准 C++ 代码。向用 C# 等语言编写的通用 Windows 平台 (UWP) 应用公开 Win32 功能。通常,在创作 C++/WinRT 组件时,可以使用标准 C++ 库中的类型和内原创 2024-08-10 00:15:00 · 1778 阅读 · 0 评论 -
windows C++-在 C++/WinRT 中使用委托处理事件(下)
本主题介绍了如何使用 C++/WinRT 注册和撤销事件处理委托。 可以使用任何标准 C++ 函数类对象来处理事件。原创 2024-08-09 00:15:00 · 939 阅读 · 0 评论 -
windows C++-在 C++/WinRT 中使用委托处理事件(上)
本主题介绍了如何使用 C++/WinRT 注册和撤销事件处理委托。 可以使用任何标准 C++ 函数类对象来处理事件。原创 2024-08-09 00:15:00 · 1026 阅读 · 0 评论 -
windows C++-winrt的错误处理(下)
本主题讨论了处理使用 C++/WinRT 编程时出现的错误的策略。原创 2024-08-08 00:15:00 · 1057 阅读 · 0 评论 -
windows C++-winrt的错误处理(上)
本主题讨论了处理使用 C++/WinRT 编程时出现的错误的策略。原创 2024-08-08 00:15:00 · 999 阅读 · 0 评论 -
windows C++-统一构造和直接实现的方法(下)
此部分介绍一项可以选择加入的 C++/WinRT 2.0 功能,不过在新项目中,该功能是默认启用的。 对于现有项目,需要通过配置 cppwinrt.exe 工具来选择加入。 在 Visual Studio 中,将项目属性“常见属性” >“C++/WinRT” >“已优化” 设置为“是” 。 该操作的效果是将 true 添加到项目文件。 它与从命令行调用 cppwinrt.exe 时添加开关具有相同的效果。-opt[imize]原创 2024-08-07 00:15:00 · 774 阅读 · 0 评论 -
windows C++-统一构造和直接实现的方法(上)
此部分介绍一项可以选择加入的 C++/WinRT 2.0 功能,不过在新项目中,该功能是默认启用的。 对于现有项目,需要通过配置 cppwinrt.exe 工具来选择加入。 在 Visual Studio 中,将项目属性“常见属性” >“C++/WinRT” >“已优化” 设置为“是” 。 该操作的效果是将 true 添加到项目文件。 它与从命令行调用 cppwinrt.exe 时添加开关具有相同的效果。-opt[imize]原创 2024-08-07 00:15:00 · 1174 阅读 · 0 评论 -
windows C++-使用 C++/WinRT 创作 API(四)
可以创建派生自另一个运行时类的运行时类,前提是基类声明为“未密封”。 类派生的 Windows 运行时术语是“可组合类”。 实现派生类的代码取决于基类是由另一个组件还是由同一组件提供。原创 2024-08-06 00:15:00 · 518 阅读 · 0 评论 -
windows C++-使用 C++/WinRT 创作 API(三)
如何从已有的具现类实现自定义的类,该实现类型将实现IStringable和IClosable接口 。你可以直接从winrt::implements(这不是一个运行时类)派生 MyType原创 2024-08-06 00:15:00 · 396 阅读 · 0 评论 -
windows C++-使用 C++/WinRT 创作 API(二)
如果类型将由 XAML UI 引用,则它需要是一个运行时类,即使它与 XAML 是在同一项目中。 尽管它们通常是跨可执行文件边界进行激活的,但在实现它的编译单元内可以改用一个运行时类。在此情况下,既会创作 API 同时又会使用 API 。 实现运行时类的过程与实现 Windows 运行时组件的过程实质上是相同的。 唯一不同的细节在于,从 IDL 中,C++/WinRT 工具链不仅生成一个实现类型,而且还生成一个具现类型。 在此情况下只说明“MyRuntimeClass”可能是不明确的,认识到这一点很重要原创 2024-08-05 00:15:00 · 739 阅读 · 0 评论 -
windows C++-使用 C++/WinRT 创作 API(一)
本主题展示了如何直接或间接使用winrt::implements基结构来创作C++/WinRT API。 在此上下文中,“创作”的同义词有“生成”或“实现” 。 本主题介绍以下在 C++/WinRT 类型上实现 API 的情形。原创 2024-08-05 00:15:00 · 872 阅读 · 0 评论 -
windows C++-通过 C++/WinRT 使用 API(三)
在上面的代码中,编译器认为你是在将 FrameworkElement.Style()(这在 C++/WinRT 中是成员函数)作为模板参数传递给 IUnknown::as。接下来,在 MainPage.cpp 中的 MainPage 构造函数中,无需使用代码 m_mainViewModel = winrt::make();请记住,具现类型(如此示例中的一种具现类型)是工具生成的,而不是你自己创作的内容。原创 2024-08-04 00:15:00 · 477 阅读 · 0 评论 -
windows C++-通过 C++/WinRT 使用 API(二)
在 C++/WinRT 中,每个具现的类型都有一个特殊的 C++/WinRT std::nullptr_t 构造函数。除了该构造函数,所有其他实现类型的构造函数(包括默认的构造函数)都会导致系统创建一个支持的 Windows 运行时对象,并为你提供它的智能指针。因此,该规则适用于使用默认构造函数的任何地方,例如未初始化的本地变量、未初始化的全局变量以及未初始化的成员变量。另一方面,如果你想要构造具现类型的变量,而无需它反过来构造支持的 Windows 运行时对象(以便你可以延迟该工作),你可以这样做。原创 2024-08-04 00:15:00 · 1102 阅读 · 0 评论 -
windows C++-通过 C++/WinRT 使用 API(一)
本文介绍如何使用 C++/WinRT API,无论它们是 Windows 的一部分、由第三方组件供应商或自行实现。本文中的代码示例较短,并且很容易试验,可以通过创建新的 Windows 控制台应用程序 (C++/WinRT) 项目和复制粘贴代码来重现它们。 但是,不能按该方法从未打包应用中使用任意自定义(第三方)Windows 运行时类型。 只能对 Windows 类型使用该方法。原创 2024-08-03 00:15:00 · 1190 阅读 · 0 评论 -
windows C++-值装箱和取消装箱
Inspectable 接口是 Windows 运行时 (WinRT) 中每个运行时类的根接口。 这类似于位于每个 COM 接口和类的根处的 IUnknown;而且类似于位于每个通用类型系统类的根处的 System.Object。原创 2024-08-03 00:15:00 · 270 阅读 · 0 评论 -
windows C++- 标准 C++ 数据类型和 C++/WinRT
借助 C++/WinRT,可以使用标准 C++ 数据类型(包括某些 C++ 标准库数据类型)调用 Windows 运行时 API。 可以将标准字符串传递到 API(,还可以将初始值列表和标准容器传递到 API,这些 API 需要语义上等价的集合。原创 2024-08-02 00:15:00 · 621 阅读 · 0 评论 -
windows C++-C++/WinRT 中的字符串处理
利用 C++/WinRT,你可以使用 C++ 标准库宽字符串类型(如 std::wstring)调用 Windows 运行时 API(注:不要使用窄字符串类型,例如 std::string)原创 2024-08-02 00:15:00 · 1002 阅读 · 0 评论 -
windows C++-C++/WinRT 中的新增功能
winrt的改进原创 2024-08-01 00:15:00 · 905 阅读 · 0 评论 -
windows C++-C++/WinRT
C++/WinRT 是 Windows 运行时 (WinRT) API 的完全标准新式 C++17 语言实现,以基于头文件的库的形式实现,旨在为你提供对新式 Windows API 的一流访问。 利用 C++/WinRT,你可以采用任何符合标准的 C++17 编译器创作和使用 Windows 运行时 API。 Windows SDK 包含 C++/WinRT;它已在版本 10.0.17134.0(Windows 10,版本 1803)中引用。原创 2024-08-01 00:15:00 · 1738 阅读 · 0 评论 -
windows C++- 独立应用程序和并行程序集疑难解答
如果找不到依赖库,则加载 C/C++ 应用程序可能会失败。 本文介绍 C/C++ 应用程序未能加载的一些常见原因,并提供了用于解决问题的建议步骤。原创 2024-07-31 00:15:00 · 485 阅读 · 0 评论 -
windows C++ 系列 C/C++ 程序的清单生成
windows 清单文件的生成原创 2024-07-31 00:15:00 · 1468 阅读 · 0 评论 -
windows C++系列- 独立应用程序和并行程序集
独立应用程序和并行程序集是一种 Microsoft Windows 解决方案,可减少 Windows 客户端应用程序中的版本控制冲突。 借助 Windows,应用程序开发人员可以生成完全自我描述且不受注册表更改、其他应用程序或系统上运行的其他程序集版本影响的独立应用程序。 部署后,应用程序作者和管理员可以使用清单来管理并行程序集的共享,无论是全局还是每个应用程序。 客户受益于独立应用程序,这些应用程序更稳定、更新更可靠。原创 2024-07-30 00:15:00 · 1069 阅读 · 0 评论 -
windows C/C++系列 内联汇编(一)
内联汇编程序原创 2024-07-29 00:23:51 · 1163 阅读 · 0 评论