C++/CX 技术研究

发布于 2020-11-08  284 次阅读


综述

C++/CX是一组C++语言扩展,使你能够在尽可能接近新式C++的用法中创建Windows
应用和 Windows 运行时组件。 使用C++/cx 编写本机代码中的 Windows 应用和
组件,以便与视觉对象C#、Visual Basic 和 JavaScript 以及其他支Windows运
行时的语言轻松交互。 在那些需要直接访问原始 COM 接口或非异常代码的罕见情
况下,可以使用Windows 运行时C++模板库(WRL)。

Windows最新文档中又建议使用C++/WinRT
C++/WinRT是C++/CX和WRL的替代,它出现在Win10 1803d版本的Win10 SDK.

技术细节

C++/CX 类型系统

C++/CX 基础类型

布尔类型和字符类型

|命名空间|C++/CX名称|定义|标准C++名称|值的范围|
|Platform|Boolean|8位布尔值|bool|true,false|
|default|char16|UTF-16码的16位非数字值|whcar_t|UTF-16码值|

数值类型

C++/CX名称定义标准C++名称值的范围
int88位带符号整数signed char[-128,127]
uint88位无符号整数unsigned char[0,255]
int1616位带符号整数short[-32768,32767]
uint1616位无符号整数unsigned short[0,65535]
int3232位带符号整数int[-231,(231)-1]
uint3232位无符号整数unsigned int[0,(2^32)-1]
int6464位带符号整数long long,_int64[-263,(263)-1]
uint6464位无符号整数unsigned long long[0,2^64-1]
float3232位 IEEE 754 浮点数float3.4e +/-38(7 digits)
float6464位 IEEE 754 浮点数double1.7e +/- 308(15 digits)

朝闻道,夕死可矣