Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuáles son las diferencias entre la biblioteca de idiomas de vs2013 y la biblioteca de idiomas de vc?

¿Cuáles son las diferencias entre la biblioteca de idiomas de vs2013 y la biblioteca de idiomas de vc?

Hay muchas diferencias. Para obtener más detalles, puede ver las mejoras en la parte C de vs2013 en msdn. Creo que su VC debería hacer referencia a VC6.0. En comparación, VC6.0 es demasiado antiguo. VS2013 utiliza los últimos estándares, tiene muchas funciones nuevas y es más seguro.

Este documento describe características nuevas y mejoradas de Visual C en Visual Studio 2013.

Para obtener información sobre otras incorporaciones en Visual Studio 2013, consulte Novedades de Visual Studio 2013.

Soporte mejorado para los estándares ISO C/C

El compilador

admite las siguientes características del lenguaje ISO C 11:

Predeterminado para la función plantillas Parámetros de plantilla.

Constructor delegado

Operador de conversión explícita.

Listas de inicializadores e inicialización unificada.

Texto de cadena sin formato.

Plantilla de parámetros variables.

Plantilla de alias.

Función eliminada.

Inicializador de miembros de datos no estáticos (NSDMI).

Función por defecto. *

Se admiten las siguientes funciones del lenguaje ISO C99:

_Bool

Texto compuesto.

El inicializador especificado.

Combina declaraciones con código.

La conversión de literales de cadena en valores modificables se puede deshabilitar utilizando la nueva opción del compilador /Zc:strictStrings.

En C 98, la conversión de literales de cadena a char * (y literales de cadena ancha a wchar_t *) ha quedado obsoleta. En C 11, las conversiones se han eliminado por completo. Aunque el compilador puede seguir estrictamente el estándar, se proporciona la opción /Zc:strictStrings para que pueda controlar la conversión. De forma predeterminada, esta opción está desactivada. Tenga en cuenta que cuando utiliza esta opción en modo de depuración, STL no se compilará.

Conversión de referencia rvalue/lvalue. Con referencias de rvalue, C 11 distingue claramente entre lvalues ​​y rvalues. En el pasado, el compilador de Visual C no proporcionaba esta funcionalidad en determinados escenarios de conversión. Se ha agregado una nueva opción del compilador (/Zc:rvalueCast) para que el compilador se ajuste al archivo de trabajo de C (consulte la Sección 5.4, [expr.cast]/1).

Cuando no se especifica ninguna opción, el comportamiento predeterminado es el mismo que en Visual Studio 2012.

Nota

* Bajo la función predeterminada, no se admite el uso de =default para solicitar constructores de movimiento de miembros y operadores de asignación uno por uno.

Bibliotecas C99

Se agregaron declaraciones e implementaciones para funciones que faltan en los siguientes encabezados: math.h, ctype.h, wctype.h, stdio.h, stdlib.h y wchar. h. También se agregan los nuevos encabezados complex.h, stdbool.h, fenv.h e inttypes.h, y la implementación de todas las funciones declaradas en estos nuevos encabezados. También hay nuevos encabezados contenedores C (ccomplex, cfenv, cinttypes, ctgmath) y se han actualizado muchos otros (ccomplex, cctype, clocale, cmath, cstdint, cstdio, cstring, cwchar y cwctype). Para obtener más información, consulte Compatibilidad con la biblioteca C99 en Visual Studio 2013.

La biblioteca de plantillas estándar

Admite operadores de conversión explícitos de C 11, listas de inicializadores, enumeraciones de rangos y plantillas variadas.

Todos los contenedores ahora admiten los requisitos de elementos refinados C 11.

Estas características de C 14 son compatibles:

"Functores de operador transparentes" lesslt;gt;, majorlt;gt;, pluslt;gt;, multiplicaslt;gt; etc.

make_uniquelt;Tgt;(args...) y make_uniquelt;T[]gt;(n)

cbegin()/cend(), rbegin()/rend() y funciones no miembros crbegin()/crend().

lt;atomicgt; Recibió múltiples mejoras de rendimiento.

lt; type_traitsgt; Recibe importantes correcciones de código y estabilidad.

Cambios importantes

La compatibilidad mejorada con el estándar ISO C/C puede requerir cambios en el código existente para que sea compatible con C++11 y se compile correctamente en Visual C++ en Visual Studio 2013. Para obtener más información, consulte Cambios importantes en Visual C.

Para obtener más información sobre el nuevo lenguaje C 11/14 y las funciones STL, consulte Funciones C 11 (C moderno) y Funciones, correcciones y cambios importantes de C 11/14 STL en Visual Studio 2013.

p>

Mejoras en la biblioteca de Visual C

Se agregó C REST SDK. Tiene una implementación C moderna de servicios REST. Para obtener más información, consulte SDK de C REST.

Se ha mejorado la compatibilidad con texturas C AMP. Ahora incluye soporte para mapas MIP y nuevos modos de muestreo.

Las tareas de PPL admiten múltiples técnicas de planificación y depuración asincrónica. La nueva API le permite crear tareas PPL para resultados regulares y condiciones de excepción.

Rendimiento de aplicaciones C

La vectorización automática ahora identifica y optimiza más patrones C, lo que hace que su código se ejecute más rápido.

Mejoras en la calidad del código para la plataforma ARM y la microarquitectura Atom.

Se ha agregado la convención de llamada __vectorcall. Utilice registros vectoriales utilizando la convención de llamada __vectorcall para pasar argumentos de tipo vectorial.

Nuevas opciones del enlazador. Utilice los modificadores /Gw (compilador) y /Gy (ensamblado) para habilitar la optimización del vinculador para producir archivos binarios compactos.

C AMP cuenta con soporte exclusivo de memoria que reduce o elimina la copia de datos entre la CPU y la GPU.

Mejora de la opción de optimización por configuración (PGO):

Mejore el rendimiento mediante el uso de PGO para lograr una reducción en el conjunto de trabajo de la aplicación optimizada.

Nuevo PGO para el desarrollo de aplicaciones de la Tienda Windows.

Soporte para el desarrollo de aplicaciones de la Tienda Windows

Admite tipos de boxeo en estructuras de valores. Los tipos de valores ahora se pueden definir utilizando campos que aceptan valores NULL (como int en lugar de IBoxlt;intgt;^). Esto significa que el campo puede tener un valor o ser igual a nullptr.

Más abundante información sobre excepciones. C/CX admite un nuevo modelo de error de Windows que puede obtener y propagar diversa información de excepción a través de la interfaz binaria de la aplicación (ABI), esto incluye pilas de llamadas y cadenas de mensajes personalizados.

Object::ToString() ahora es virtual. Ahora se puede anular ToString en los tipos de referencia de Windows Runtime definidos por el usuario.

Soporta API obsoletas. Públicas *** Las API de Windows Runtime ahora se pueden marcar como obsoletas y recibir un mensaje personalizado que aparece como una advertencia de compilación y proporciona orientación sobre la migración.

Mejoras en el depurador. Admite la depuración de interoperabilidad nativa/JavaScript, el diagnóstico de excepciones de Windows Runtime y la depuración de código asíncrono (Windows Runtime y PPL).

Descripción

Además de las características y mejoras específicas de C descritas en esta sección, otras mejoras en Visual Studio pueden ayudarle a escribir mejores aplicaciones de la Tienda Windows. Para obtener más información sobre estas funciones, consulte la Guía de funciones de Windows 8.1. Para obtener más información sobre las nuevas plantillas de aplicaciones, consulte Plantillas de proyectos C#, VB y C para aplicaciones de la Tienda Windows. Para obtener una lista de las nuevas características de la plataforma, consulte Vista previa de Windows 8.1: nuevas API y características.

Mejoras en el diagnóstico.

Mejoras en el depurador. Admite la depuración asincrónica y la depuración "solo mi código".

Categoría de análisis de código. Ahora puede ver el resultado de clasificación del analizador de código para ayudarle a encontrar y corregir defectos de código.

Diagnóstico XAML. Ahora es posible diagnosticar problemas de capacidad de respuesta de la interfaz de usuario y uso de la batería en XAML.

Mejoras en gráficos y depuración de GPU.

Capture y reproduzca de forma remota en el dispositivo real.

Depuración sincronizada de C AMP y CPU.

Diagnóstico de tiempo de ejecución de C AMP mejorado.

Depuración de seguimiento del sombreador de cálculo HLSL.

Mejoras en gráficos 3D

La canalización de contenido de imágenes admite el formato alfa DDS premultiplicado.

El editor de imágenes utiliza alfa premultiplicado interno para el renderizado, evitando así artefactos como halos oscuros.

Editor de imágenes y modelos. La creación de filtros definidos por el usuario ahora es compatible con Shader Designer del Editor de imágenes y el Editor de modelos.

IDE y productividad

Las mejoras significativas en Visual Studio IDE ayudarán a aumentar su productividad al codificar en C.

Formato de código mejorado. Puede aplicar múltiples configuraciones de formato al código C. Con esta configuración, puede controlar las llaves y las palabras clave, la sangría, el espaciado y la posición de nueva línea del ajuste de palabras. Cuando completa declaraciones y bloques y pega el código en un archivo, el código se formatea automáticamente. Para modificar el formato, en la barra de menú de Visual Studio, seleccione Herramientas, Opciones, expanda el Editor de texto, expanda C/C, expanda el nodo Formato y luego realice los cambios. También puede utilizar el cuadro Inicio rápido para acceder a estas opciones.

Las llaves están completadas. El código C ahora completa automáticamente los caracteres finales correspondientes a estos caracteres iniciales:

{ (llaves)

[ (corchetes)

( (corchetes)

' (comilla simple)

" (comilla doble)

Autocompletar C agregado.

Agregado para tipos de clase punto y coma.

Completar usando paréntesis para literales de cadena sin formato

Completar comentarios de varias líneas (/* */)

Buscar todas las referencias automáticamente en segundo plano. Las referencias se analizan y filtran después de mostrarlas. una lista de coincidencias de texto.

Para deshabilitar la resolución de referencia, puede seleccionar "Herramientas", "Opciones" en la barra de menú de Visual Studio, expandir los nodos "Editor de texto", "C/C" y "Avanzado" y luego cambiar la configuración "Deshabilitar análisis". .

Para modificar la configuración de finalización de llaves, seleccione "Herramientas", "Opciones" en la barra de menú de Visual Studio y expanda los nodos "Editor de texto", "C/C" y "General" en ordenar y luego realizar cambios. También puede cambiar la configuración de todos los idiomas de Visual Studio expandiendo los nodos Editor de texto, Todos los idiomas y General.

Para modificar configuraciones específicas de C, seleccione "Herramientas", "Opciones" en la barra de menú, expanda los nodos "Editor de texto", "C/C" y "Avanzado", y luego Realice cambios.

Filtrado de listas de miembros basado en el contexto. Los miembros inalcanzables se han filtrado de la lista de miembros de IntelliSense. Por ejemplo, los miembros privados no aparecerán en la lista de miembros a menos que modifique el código que implementa este tipo. Mientras la lista de miembros está abierta, puede presionar Ctrl J para eliminar un nivel de filtrado (solo para la ventana de lista de miembros actual). Puede presionar Ctrl J nuevamente para eliminar el filtro de texto y mostrar cada miembro.

Los parámetros ayudan con el desplazamiento. La firma de la función que se muestra en la información sobre herramientas de ayuda de parámetros ahora cambiará según la cantidad real de parámetros de entrada, en lugar de simplemente mostrar una firma aleatoria que no se actualiza según el contexto actual. Cuando una función aparece en una función anidada, los parámetros también ayudan a la función de manera adecuada.

Cambiar archivos de encabezado/código. Ahora puede cambiar entre un título y su archivo de código correspondiente utilizando el comando en el menú contextual o el método abreviado de teclado.

Ventana de propiedades del proyecto C redimensionable.

Generar automáticamente código de controlador de eventos en C/CX y C/CLI. El editor puede generar automáticamente instancias delegadas y definiciones de controladores de eventos a medida que escribe código para agregar controladores de eventos a archivos de código C/CX o C/CLI. Cuando el código del controlador de eventos se puede generar automáticamente, aparece una ventana de información sobre herramientas.

Mejoras en el reconocimiento de DPI. La configuración compatible con DPI para archivos de manifiesto de aplicaciones ahora admite la configuración "Por monitor compatible con DPI alto".

Cambio de configuración más rápido. Para aplicaciones grandes, las configuraciones de conmutación (y especialmente las operaciones de conmutación posteriores) se realizarán más rápidamente.

Oportunidad de generación.

Genera más rápido. Muchas optimizaciones y el uso de múltiples núcleos aceleran las compilaciones, especialmente para proyectos más grandes. Las compilaciones incrementales de aplicaciones C que hacen referencia a C WinMD también son más rápidas.

Para obtener información sobre otras adiciones y mejoras al IDE, consulte Novedades de Visual Studio 2013 y los demás artículos a los que hace referencia.