标签: c++-cx

什么是C++中的_In_?

我已经搜索了很多,但没有得到任何有用的结果.

我目前正在尝试为Windows 8 Metro编写简单的DirextX游戏,并且遇到了_In_相当多的问题.我只是想知道它是什么.

此外,我已经看到很多使用^作为*我发现奇怪的指针.最重要的是,一些类有一个接口ref class MyClass,我相信它是C#易读性.

无论如何,任何帮助都会很棒.

c c++ microsoft-metro c++-cx

26
推荐指数
1
解决办法
2万
查看次数

auto foo = ref new Foo(); 什么是"参考"?

我正在观看来自// build /的视频,并且有几位MS开发人员在他们的C++ 11程序中使用了这样的语法:

auto foo = ref new Foo();
Run Code Online (Sandbox Code Playgroud)

我理解除了"ref"之外,这一行中所做的一切.那是什么意思?

c++ windows-runtime c++-cx

23
推荐指数
2
解决办法
5952
查看次数

如何将Platform :: String转换为char*?

如何转换Platform :: String的内容以供期望基于char*的字符串的函数使用?我假设WinRT为此提供了辅助函数,但我找不到它们.

谢谢!

c++ character-encoding microsoft-metro windows-runtime c++-cx

17
推荐指数
3
解决办法
2万
查看次数

如何解析Metro(C++/CX)应用程序中的日期?

我有一个C++/CX应用程序正在处理文件中的一些数据.它有一个字符串,表示用于保存日期的文化,它有一些日期.我需要将它们从字符串转换为Platform :: DateTime.我听说 Windows :: Globalization :: DateTimeFormatting是要使用的类,但我没有看到如何使用它.有人有例子吗?

datetime microsoft-metro windows-runtime c++-cx

15
推荐指数
1
解决办法
5580
查看次数

从WP8中的C++代码调用C#方法

我有兴趣从Windows Phone 8中的C++代码调用C#方法.我已经学会了如何通过C++代码中的委托声明将回调函数传递给C#中的C++代码,但是我想知道我是否可以做以下任何一项:

  • 直接从C++代码调用某些方法.这将涉及以某种方式检查来自C++的C#对象化妆,对我来说似乎不太可能,但我想我无论如何都会问你们

  • 触发C#代码中的事件,然后可以通过C#方法处理

  • 使用调度程序在主UI线程中调用C#回调,以便回调可以修改UI元素

  • 使用调度程序触发C#代码中的事件,(基本上是上述两点的合并)

简而言之,我正在寻找尽可能多的C++ - > C#通信技巧,因为你们可以抛弃我,我想要全部学习.:)

c++-cx windows-phone-8

14
推荐指数
2
解决办法
5544
查看次数

使用C++/CX for Desktop Windows的XAML应用程序

我已经尝试使用C++ for Windows 8 Store应用程序进行XAML UI编程.我非常喜欢开发人员的体验,XAML设计师以及我可以使用现代丰富的用户界面和高性能获得纯本机应用程序的事实.

我想使用C++ for Desktop Windows(非商店世界)创建类似的XAML应用程序.我该怎么做呢?多年来,我一直在等待Windows桌面的本机UI堆栈,它比MFC更新,并且比直接的Win32/GDI编程更高级别.

c++ windows xaml windows-8 c++-cx

13
推荐指数
1
解决办法
4975
查看次数

C++/CX和C++/WinRT可以在同一个项目中使用吗?

本周早些时候,Kenny Kerr 在CppCon 2016 1上展示了C++/WinRT.它是基于Modern的Windows Runtime的标准C++投影.

据我所知,C++/CX编译器/预处理器/代码生成器不接触标准C++代码,而C++/WinRT是标准C++库,这是我天真的解释,C++/CX和C++/WinRT都可以在同一个项目中使用.

问题:

  • 第一件事:我天真的解释是否正确?
  • 如果是这样,C++/CX和C++/WinRT可以在同一个编译单元中使用吗?
  • C++/CX和C++/WinRT的粒度可以混合在一起,以防它们不能驻留在同一个编译单元中?
  • C++/WinRT可以在同一个项目中使用C++/CX实现的类型吗?(我希望这很困难,因为C++/WinRT编译器需要从.winmd元数据生成头,因此依赖于(预)编译器输出.)

如果重要的话,那些问题的答案让我现在可以决定如何将我的C++/CX项目推向未来.


1 为Windows运行时使用标准C++(在YouTube上).

c++ windows-runtime c++-cx win-universal-app c++-winrt

12
推荐指数
2
解决办法
1962
查看次数

C++/CX是否检测并解决了对象的循环?

根据我的理解, C++/CX不使用垃圾收集,而是使用引用计数方法.

引用计数的问题在于它不能处理循环.循环通常使用弱引用来解决,例如标准C++中的weak_ptr.

但我无法在C++/CX中找到明确指定弱引用的方法.从那以后我会假设这是由C++/CX本身处理的.我想知道C++/CX将如何解决这个问题.

例如,查看以下代码:

ref class Foo
{
public:
    Bar^ bar;
};

ref class Bar
{
public:
    Foo^ foo;
};

ref class App
{
public:
    virtual void OnLaunched(LaunchActivatedEventArgs^ args)
    {
        Foo^ foo = ref new Foo();
        Bar^ bar = ref new Bar();
        foo.bar = bar;
        bar.foo = foo;
    }
};
Run Code Online (Sandbox Code Playgroud)

C++/CX如何检测此循环?

C++/CX如何解决这个循环?

C++/CX如何决定这些对象中的哪一个应该是"根对象",哪一个应该是"弱引用"?

c++ reference-counting windows-runtime c++-cx

11
推荐指数
1
解决办法
4931
查看次数

Platform :: String真的没用吗?

我试图在"Windows Store"(又名Metro Style)应用程序中用C++/CX编写几行代码,我很惊讶地发现Platform :: String缺少许多基本的字符串操作,如"replace""指数".

我想我可以使用内部数据,将其传递给std:string实例并应用我需要的操作,但我想知道我是否缺少一些"仅限Platform ::*"的方法来执行这些操作.

请注意这个问题是关于C++/CX,而不是C#.

visual-c++ windows-8 windows-runtime c++-cx

11
推荐指数
2
解决办法
6933
查看次数

如何从托管项目引用本机WinRT组件?

据说你可以创建一个可以在C#中使用的C++ WinRT组件.我有一个简单的测试项目 - 一个C#XAML应用程序,以及一个仅使用基本WinRT组件项目模板的C++项目.当我尝试在C#XAML项目中添加项目引用时,它表示无法添加引用(不确定原因).我可以构建本机WinRT组件,并生成.winmd文件,我可以使用添加引用对话框中的浏览按钮手动添加对此.winmd文件的引用.这允许我访问本机库中的方法,但是当我构建时,它表示它使用的是Platform.IDisposable,但该类型是在未引用的程序集中定义的.我没有看到任何会话演示这种情况.

c# windows-8 windows-runtime c++-cx

10
推荐指数
1
解决办法
5266
查看次数