3

是否有适用于 Windows Phone 8 的 boost 二进制文件?我主要在寻找基本的东西,比如shared_ptr线程。请注意,线程既需要为 ARM 构建,又需要使用正确的平台调用,同时shared_ptr可以直接使用。

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

更新:我检查了 WinRT API 和 boost 源。boost 中的 windows 线程在很大程度上依赖于线程本地存储 (TLS),但 WinRT 不支持这一点。然而,似乎有一些光纤本地存储(FLS),但它并不完全相同。

4

3 回答 3

1

2014 年 7 月 18 日有一个官方页面,确认Boost 中的一些库使用了 Windows Store 和 Phone 应用程序中不可用的 API,因此我们对 Boost 构建系统进行了改进,以支持面向 Windows Store 和 Phone 的 Windows 运行时

于 2015-01-04T21:03:11.280 回答
0

从 Visual Studio 2013 Update 4 开始,您可以编译使用TLSAPI的源代码,因为它们是作为转发到FLSAPI(与 Store 兼容)的内联实现的。显然,预编译的二进制文件不起作用,因为它们会尝试TLS直接绑定。

仅供参考,TLS不推荐使用/禁止的原因是因为如果线程终止,可能会泄漏内存。如果您TLS在 Store 应用程序中使用 API,它们将面临相同的潜在内存泄漏问题(FlsCallback提供给FlsAllocis null),因此请考虑迁移到TLS并提供清理功能。

于 2015-01-05T02:29:23.763 回答
0

I'm compiling against some static libraries that rely on boost so I don't think that's an issue at all.

于 2013-02-02T23:46:51.577 回答