Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Boost Windows Phone 8的增强功能?_Boost_Windows Phone 8 - Fatal编程技术网

Boost Windows Phone 8的增强功能?

Boost Windows Phone 8的增强功能?,boost,windows-phone-8,Boost,Windows Phone 8,Windows Phone 8是否有可用的boost二进制文件?我主要是寻找一些基本的东西,比如共享线程和线程。请注意,线程需要为ARM构建并使用正确的平台调用,而共享的ptr则在bat的右边工作 如果没有,如何为Windows Phone 8构建boost::thread 更新:我查看了WinRT API和boost源代码。boost中的windows线程严重依赖于线程本地存储TLS,但WinRT不支持这一点。然而,似乎存在一些光纤本地存储FLS,但这并不完全相同。我是针对一些依赖boost的

Windows Phone 8是否有可用的boost二进制文件?我主要是寻找一些基本的东西,比如共享线程和线程。请注意,线程需要为ARM构建并使用正确的平台调用,而共享的ptr则在bat的右边工作

如果没有,如何为Windows Phone 8构建boost::thread


更新:我查看了WinRT API和boost源代码。boost中的windows线程严重依赖于线程本地存储TLS,但WinRT不支持这一点。然而,似乎存在一些光纤本地存储FLS,但这并不完全相同。

我是针对一些依赖boost的静态库进行编译的,所以我认为这根本不是问题。

有一个日期为2014年7月18日的,确认Boost中的一些库使用的API在Windows应用商店和手机应用程序中不可用,因此我们对Boost构建系统进行了改进,以支持针对Windows应用商店和手机的Windows运行时。

自Visual Studio 2013更新4起,您可以编译使用的源代码,因为它们被实现为转发到存储兼容的的内联线。显然,预编译的二进制文件将无法工作,因为它们将尝试直接绑定到TLS


仅供参考TLS被弃用/禁止的原因是,如果线程终止,可能会泄漏内存。如果在商店应用程序中使用TLS API,它们将有相同的潜在内存泄漏问题,提供给NLS,因此考虑移动到TLS并提供清理功能。例如,线程需要链接一些二进制文件。在Windows Phone 8上,我们需要使用Windows系统调用进行线程处理的ARM二进制文件……我完全依赖于C++11线程处理,这是目前几乎所有编译器和平台都支持的。为arm编译boost似乎不是一个问题,我不是团队中做这项工作的人——我只是构建/使用它——但我的印象是boost在编译到arm时不需要任何工作。实际上,看看我们的WinRT分支,这一部分与原来的分支没有什么不同。好吧,如果我理解正确的话,那么你可以构建自我提升。如何为Windows Phone 8构建它?如果我为我的windows桌面运行bjam it构建。。。请参阅此处的更多信息:为什么不使用std::shared_ptr和std::thread?最后我确实使用了。这是一个很大的麻烦,因为我必须修补整个第三方库。这个更新非常有用。WinRT或WinPRT中不支持TLS。在我看来,我们需要开始区分运行时。在这种情况下,区别是相同的,但并非所有情况下都如此,例如:winsock。您可以使用光纤本地存储而不是TLS。签名基本相同,实现了相同的功能我成功地用FLS替换了TLS位。对我来说也是这样,端口非常简单,因为重要的部件的签名或多或少是相同的。