10

¿El modo C++ 0x en VC++ 2010 tiene un interruptor de apagado? Estoy trabajando en un proyecto que supuestamente compila en compiladores no 0x, y por lo tanto quiero compilar contra el estándar actual. (Incluso si ninguna de las nuevas funciones se usa directamente, todavía hay sutilezas que hacen que C++ 0x sea más selectivo).¿Deshabilitar las características de C++ 0x en VC 2010?

El interruptor más cercano que encontré fue Configuration Properties -> C/C++ -> Language -> Disable Language Extensions pero eso no es todo.

Respuesta

13

No, las extensiones de idioma suelen ser adiciones no estándar de proveedores específicos.

C++ 0X características: No hay manera directa de desactivar estas funciones. Una solución alternativa es no usarlos. Sin embargo, tenga en cuenta que aún habrá una marcada diferencia en el rendimiento en todas las versiones del tiempo de ejecución de VC. VC10 implementa la semántica de movimiento y la biblioteca estándar (std::string, por ejemplo) usa estas características generosamente.

Un compromiso razonable en mi opinión es volver al VS2008. Las versiones recientes de VS han sido notoriamente defectuosas (hasta ahora, en mi experiencia) y nunca han funcionado como deberían sin un Service Pack. VS2008 es bastante estable ahora, sin ninguna de esas características de C++ 0x y debe ajustarse a su factura.

+5

También puede volver a utilizar el compilador VS2008 VS2010 en el IDE, así como en la configuración del proyecto. – Andy

Cuestiones relacionadas