2010-05-29 13 views

Respuesta

17

No; ninguno de los 11 C++ operaciones atómicas o características de soporte de hilo están soportados por Visual C++ 2010.

Ambos conjuntos de características son compatibles con Visual C++ 2012.

+0

Cómo mal. ¿Tengo una alternativa a la versión C++ 0x, entonces? – Electro

+0

@Electro: no hay una alternativa realmente portátil. Se requiere soporte del compilador para una biblioteca de operaciones atómicas para garantizar que las optimizaciones no violen la atomicidad de las operaciones. Puede buscar en [solo :: hilo] (http://www.stdthread.co.uk/) que implementa la biblioteca de hilos C++ 0x y (al menos partes de) la biblioteca atómica para un puñado de plataformas, incluyendo Visual C++ 2010 (no es gratuito, pero tampoco es especialmente caro). –

+0

Soy consciente de que se requiere la compatibilidad del compilador, bueno, gracias de todos modos, y no estoy dispuesto a gastar dinero para obtener la licencia para mi motor de código abierto. – Electro

2

Puede utilizar tbb::atomic. No es lo mismo que C++ 0x atomics, y en realidad no pretende ser un reemplazo o un sustituto temporal de ellos, pero se puede usar para realizar las mismas tareas de programación.

0

Debe consultar el tiempo de ejecución de simultaneidad. Es mucho más completo que las ofertas del comité de estándares de C++, y viene en VC10. Eso es, por supuesto, no es particularmente portátil, pero si lo desea, entonces los bloques de construcción de subprocesos de Intel pueden funcionar para usted.

2

InterlockedExchange, InterlockedIncrement y InterlockedDecrement pueden serle útiles mientras esperamos que VC++ 2012 los envuelva en envoltorios estándar.

+0

Estoy de acuerdo. A pesar de tener lo último (vs12/cl18), todavía tengo proyectos basados ​​en 2010 con los que debo trabajar. – bvj

Cuestiones relacionadas