【发布时间】:2012-01-13 07:53:29
【问题描述】:
我想用 C++/CX 语法编写一个库,并在其他项目中使用它。
如您所知,普通的旧数据结构不能有任何方法或运算符,因此我们不得不做一些事情,例如在另一个类中编写静态方法来提供行为。
我们也不能这样写代码:
private:
int _D;
public:
property int& D { int& get() {return _D;}}
或将此属性传递给这样的方法:
void SampleMethod(int& d);
我不知道为什么 Windows 运行时库有这些限制。
如何在 .lib 文件中编译 C++/CX 和 Windows 运行时扩展?或者如何在另一个项目中预编译整个 WRL 项目的代码文件?
【问题讨论】:
-
什么是“WRL”和“公共价值结构”?你真的想做什么?
-
C++ 中的
struct只是一种使类默认具有公共成员的方法,而class默认具有私有成员。这是类和结构的唯一区别。 -
您确定您的意思是“C++11”而不是“C#”吗?
-
WRL 很可能是 Windows 运行时库,这是一个用于在尚未发布的 Windows 8 中针对 WinRT(沙盒 Metro 风格 UI)的本机 API。
-
具有扩展名的语言的正确名称是 C++/CX - 我已经相应地更新了它。此外,WRL 是 VC++ 附带的模板库,用于启用对 WinRT 的“低级”(没有语言扩展)访问 - 此代码不以任何方式使用它。 ABI/运行时本身——你使用 /ZW 编译时的目标——被称为 WinRT。
标签: c++ windows-8 windows-runtime c++-cx