使用std :: future的C ++程序拒绝在Windows XP Embedded上运行

时间:2015-05-21 23:27:45

标签: c++ windows multithreading embedded

如果我#include <future>在我的程序中并使用std::async,程序将拒绝在Windows XP Embedded上运行。现在我知道XPE是基于XP SP2而我在某处读到你需要SP3以便在Win XP上充分利用多线程应用程序,这是正确的吗?我可以做些什么来修补我的XPE以使其运行多线程应用程序?当我打开任务管理器时,我看到两个CPU图,处理器是ATOM D2500 @ 1,86 GHz,规格说它是双核/ 2线程。

1 个答案:

答案 0 :(得分:2)

Windows支持多线程,因为在Windows 2000之前,几十年来一直支持多线程。当然,您可以在较新的Windows版本上获得更高的性能。

更实际的问题是XP已经老了,<future>是新的。您使用的C ++ 11库不能在XP上运行。

作为一种解决方法,使用较旧的编译器(也许是VS2010?)并获取Boost库进行线程化。 C ++ 11线程设计基于Boost。