Visual Studio C++ 示例

Visual Studio C++ 示例

  • 项目
  • 2023/06/16
  • 3 个参与者

反馈

本文内容

  1. GitHub 上的存档 C++ 示例
  2. ATL 示例
  3. CLR 和语言示例 - Windows 窗体
  4. COM 事件示例

显示另外 13 个

Visual Studio C++ 示例可在 Web 上找到。 Microsoft 已生成许多 C++ 示例,这些示例演示了跨多种技术的不同功能。 下面介绍是一些查找其他示例的位置:

  • C++ 代码示例

  • GitHub 上的 Windows 示例

  • Windows 开发人员中心代码示例

  • ADO 代码示例

  • Windows 硬件开发示例

GitHub 上的存档 C++ 示例

Visual Studio 在以前的版本中包含了 C++ 示例代码。 该示例代码要么已与 Visual Studio 一起安装,要么已作为单独的下载项提供。 文档中的许多文章都参考了这些示例。 Visual Studio 不会再安装它们。 相反,GitHub 上提供了存储库。 下表包含每个示例的说明,以及指向存储库中示例目录的链接。

 重要

此代码示例旨在阐释一个概念,并且仅显示与此概念相关的代码。 该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。 我们建议你添加安全性代码和错误处理代码,以使项目更加安全可靠。 Microsoft“按原样”提供此代码示例,不做任何保证。

ATL 示例

ATL 示例 - 高级

展开表

示例名称 描述
ActiveDoc 演示如何实现活动文档服务器 (Active Document Server)。
Async 通过 URL 异步下载数据。
ATLButton 创建一个根据自身的状态用三种不同的位图显示自身的按钮。
ATLDuck 演示如何与 ATL 控件一起使用连接点。
ATLSecurity 演示如何使用 ATL 安全类来检查安全设置。
ATLTraceTool 显示由 ATLTRACE2 宏生成的输出。
“连接” 说明如何在多线程环境中实现和使用连接点(IConnectionPointContainer 和 IConnectionPoint 接口)。
CThreadPool 演示如何在应用程序中使用线程池,以及实现线程池可以如何提高应用程序的性能。
DCOM 演示如何从运行于不同计算机上的多个客户端调用 COM 对象(在 Windows 服务中实现)。
MFCATL 说明如何能在 MFC 服务器 EXE 中使用 ATL COM 对象。

ATL 示例 - 控件

展开表

示例名称 描述
ATLFire 演示如何用 ATL 生成有窗口控件。
CDInfo 播放 CD 乐曲并在工具提示和饼图显示中显示有关这些曲目的信息。
Circ 创建一个说明属性页并绘制圆形的控件。
多边形 生成一个实现自定义属性、事件、属性页和对象安全的控件。
SubEdit 创建一个具有超类的 Windows 控件。

ATL 示例 - 常规

展开表

示例名称 描述
ATLCollections 说明 ICollectionOnSTLImpl 和 CComEnumOnSTL 的使用及自定义复制策略类的实现。
ATLCon 说明简单的控件容器。
ATLSafeArray 演示如何使用 CComSafeArray 创建并维护 SAFEARRAY;还演示如何将 SAFEARRAY 从组件传递到脚本。
AutoThread 演示如何使用 CComAutoThreadModule 类。
Beeper 实现 BSTR 的集合/枚举的分离式接口。
CircColl 使用 ATL 和标准 C++ 库实现对象的集合/枚举。
COMMap 演示带有编译器 COM 支持的 COM 接口映射项宏。
CustomString 演示如何使用 CStringT 的自定义内存分配器来提高多线程应用程序的性能。
DispSink 演示如何在调度接口上使用连接点。

ATL 示例 - OLEDB - 使用方

展开表

示例名称 描述
CatDB 显示 OLE DB 提供程序的架构信息,如表和列。
DBViewer 演示一个中级应用程序,它依赖 CManualAccessor 类来完全控制应用程序的数据绑定。
DynamicConsumer 演示如何使用动态访问器和架构行集合类从数据库中读取元数据。
MultiRead 使用多个线程读取数据库中的表。

ATL 示例 - OLEDB - 提供方

展开表

示例名称 描述
AdvancedPV 实现可更新的 OLE DB 提供程序。 演示一些高级技术。
UpdatePV 实现可更新(读/写)的 OLE DB 提供程序。

CLR 和语言示例 - Windows 窗体

展开表

示例名称 描述
BirthdayPicker 演示如何在 C++ 应用程序中使用 .NET Framework 资源机制。 还演示一些常见的 Window 窗体组件。
计算器 使用 C++ 和 .NET Framework Windows 窗体类实现一个简单的袖珍计算器。
Scribble(使用 MFC) Scribble 示例的 MFC 实现,进行了更新和扩展以包括新的 .NET 功能。
Scribble(Windows 窗体) Scribble 示例的 Windows 窗体实现,进行了更新和扩展以包括新的 .NET 功能。
STLCLR 演示一些可在使用 STL/CLR 库时使用的功能。

COM 事件示例

展开表

示例名称 描述
COMEvents 演示使用 COM 的事件处理。

ComTypeLibfor7 示例

展开表

示例名称 描述
ACDual 向自动化应用程序添加双重接口。
ADOSamp 实现三层客户端/服务器应用程序。
AllInOne 使用 ATL 实现一种服务器,它公开 STL 集合,并由 MFC 应用程序中的编译器 COM 支持控制。
COMMap 演示带有编译器 COM 支持的 COM 接口映射项宏。
“连接” 演示如何在多线程环境中使用和实现连接点(IConnectionPointContainer 和 IConnectionPoint 接口)。
DCOM 演示如何从运行于不同计算机上的多个客户端调用 COM 对象(在 Windows 服务中实现)。
FreeThrd 演示带有编译器 COM 支持的多线程客户端和*线程服务器。
InProc 演示带有编译器 COM 支持的进程内自动化服务器应用程序。
Labrador 实现一个没有任何用户接口的 EXE 服务器。
MFCCalc 演示带有编译器 COM 支持的自动化服务器应用程序。

编译器示例

编译器示例 - 常规

展开表

示例名称 描述
ccWrapper 演示如何将 C/C++ 编译器标志从其他编译器映射到 Visual C++ 编译器 (cl.exe) 中。

编译器示例 - MASM

展开表

示例名称 描述
EuclidStep1 纯 C 项目,它演示了用于查找最大公约数的欧几里得算法。
EuclidStep2 EuclidStep1 的扩展,它是 C 与 MASM 混合编程的项目。 欧几里得算法的核心从 .c 文件移到 .asm 文件,并且 .c 文件调入 .asm 文件。
PrimesStep1 纯 C 项目,它演示了用于查找质数的埃拉托色尼斯筛法。
PrimesStep2 PrimesStep1 的扩展,它是 C 和 MASM 混合编程的项目,该项目将核心算法移到 .asm 文件 。
PrimesStep3 PrimesStep2 的扩展,它添加一个 C 头文件和一个 .asm 包含文件,分别用来声明外部函数和全局数据结构 。

CRT 示例

展开表

示例名称 描述
CPUID 确定正在运行的 CPU 的性能。
CRT_Dbg1 阐释 C 运行库的基本调试功能。
CRT_Dbg2 说明 C 运行时调试挂钩函数。
DFACObjs 演示如何使用 _CrtDoForAllClientObjects C 运行时函数来循环访问客户端对象的链接列表。
Report 阐释 C 运行时调试报告函数。
RTC 说明运行时错误检查功能。
SecureCRT 本示例演示了如何升级原本使用已被否决的 CRT 函数的代码,以提高代码安全性。

调试示例

展开表

示例名称 描述
EEAddIn 使用“表达式计算器外接程序 API”来扩展本机调试器表达式计算器。

合成示例

展开表

示例名称 描述
TraceMan 提供有关与应用程序相关的程序集的信息,以及以可读的形式提供这些程序集在本机合成缓存中的状态的信息。

Hilo 示例

展开表

示例名称 描述
Hilo Hilo 是一系列文章和示例应用程序。 它们演示了如何使用 Windows 7、Visual Studio 和 C++ 构建高性能的响应式客户端应用程序。 Hilo 提供源代码和指南,有助于你设计和开发引人注目的触控 Windows 应用程序。

此示例已针对 Visual Studio 2013 进行了更新。 它包括 AsyncLoaderMemoryManager.cpp 文件(第 36 行和第 37 行)的热修复,解决了常见的崩溃问题 。

国际示例

展开表

示例名称 描述
IME 演示如何控制输入法编辑器模式以及如何实现 IME 级别 3。
SatDLL 演示在 Win32 应用程序中实现多语言资源的推荐方法。
UniRes 说明 Unicode 资源文件的用法。

语言示例 - 常规

展开表

示例名称 描述
Data 演示对 SQL 数据库的简单访问。
MEDriver 说明如何通过从 COM 服务器的类型库自动生成的 .NET Framework 包装器使用 COM 事件(从非托管 COM 服务器激发)。
Nile 演示 ASP.NET Web 窗体和 ASP.NET Web 服务。
QStat 演示如何创建一个 DLL 来包装对 COM 对象的访问并将它的功能向 .NET Framework 客户端公开。
Scribble 演示如何使用 C++/CLI 和 .NET Framework 类开发 Windows 窗体 MDI 应用程序。
TilePuzzle 演示托管组件(用 C++ 和 C# 编写)和本机组件(使用 COM 特性用 C++ 编写)之间的互操作性。

MFC 示例

MFC 示例 - 高级

展开表

示例名称 描述
Collect 演示 MFC C++ 基于模板的集合类和标准的预生成集合类。
Cube 使用 MFC 设备上下文以及 OpenGL 的资源上下文的 OpenGL 应用程序。
DLLHusk 将基础类库的 DLL 版本与应用程序和自定义 DLL 共享。
DLLScreenCap 可被静态或动态链接到 Microsoft 基础类库的常规 DLL。
MTGDI 使用框架的文档和视图单文档界面 (SDI) 支持,演示如何在多个线程间共享 GDI 资源。
MTMDI 多线程说明,其中在单独的用户界面线程中处理用户界面事件。
MTRecalc 多线程说明,其中在辅助线程中执行重新计算。
Mutex 基于对话框的应用程序,它创建两个 CWinThread 对象,并在用户的控制之下将它们用于执行任务。
Speakn 演示使用用户定义资源的多媒体声音。

MFC 示例 - 控件

展开表

示例名称 描述
Button 演示就地活动菜单、常用属性页和“关于”框控件选项的使用。
Circ 说明 ActiveX 控件的基础功能。 其中包括控件绘制、常用和自定义属性、
上一篇:day03--react中setState的使用


下一篇:【C语言】手撕二叉树