¿Puede Visual Studio 2005 compilar y ejecutar código fuente escrito en VC 6.0? ¿A qué debo prestar atención?
Nota:
Hay algunos cambios menores en el idioma.
Se requiere cierta edición para adaptarse a algunos cambios de coherencia del idioma, y la mayoría son "nuevos". han sido estándar en C durante algún tiempo, pero ahora solo Visual Studio los aplica.
Por ejemplo:
Las variables locales en el bucle ya no afectan fuera del bucle. La codificación anterior podría ser:
for (int i=0; i0) {
// hacer algo más
}
En este fragmento de código, la variable i se define en la declaración for y se usa fuera del bucle. Formalmente, C no permite esta operación, por lo que debes reescribir el código de esta manera:
int i; // Salir del bucle for
for (i=0 ; i0) {
// Realizar otras operaciones
}
Las variables estáticas no declaradas (locales y globales) ya no son enteras de forma predeterminada. Anteriormente, podías escribir el siguiente código
const BUFLEN=255;
y el compilador asignaría implícitamente a BUFLEN como de tipo int. Debe declarar el tipo de la siguiente manera:
const int BUFLEN=255;
Esto se aplica a todos los tipos de variables: estáticas, globales, de miembro de datos y de función. Si falta int, recibirá el mensaje "Error C4430: Falta el especificador de tipo - se asume int". Nota: C no admite "default-int".
Otra categoría importante de cambios de C/C se relaciona con las nuevas bibliotecas Safe C y Safe C. Estas bibliotecas son utilizadas por muchos de los tiempos de ejecución de C más antiguos. Las funciones que los usuarios conocen y aman (CRT) proporcionan versiones más seguras: strcpy, fopen, etc.