在C ++ boost库中,提供了同步机制,但只支持非常有限的编译器列表。
我们必须以自己的方式实现同步机制,以便为不同的编译器提供更广泛的支持。换句话说,我们想要编写多平台C ++库。
我对多平台编程和C ++领域(以前是Java人)都很陌生。有人可以告诉我如何开始使用一些简单的例子吗?
答案 0 :(得分:3)
虽然Boost可能无法为您提供现成的解决方案,但它包含了许多信息和工具来处理不同的编译器。我建议你查看他们如何管理它,看看你是否可以利用他们的一些代码。在你的位置,我会从Boost.Config开始。
答案 1 :(得分:1)
对于Windows,请使用事件和关键部分。对于UNIXy平台,请使用pthreads互斥锁和条件变量。这些应该适用于支持这些平台的任何编译器。
您需要支持哪些编译器? Boost的同步方法几乎支持您可能使用的每个编译器,包括GCC,Intel的C ++编译器和Microsoft Visual Studio。
答案 2 :(得分:0)
Boost已经设计出了能够将posix和windows同步映射到多个编译器的一致界面的设计概念。您是否考虑过将boost框架扩展到您想要的平台上?