C/Visual C - PROBLEMAS

 
Vista:

PROBLEMAS

Publicado por javier (1 intervención) el 06/07/2005 01:39:45
YO HE BAJADO ALGUNOS CODIGOS DE ESTA PAGINA Y CUANDO VOY A EJECUTARLO TIRA MILES DE ERRORES.
ME PODRIAN DECIR LOS PASOS A SEGUIR CON EL CODIGO PARA QUE NO ME GENERE ERROR.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMAS

Publicado por Charly (12 intervenciones) el 06/07/2005 23:05:06
En C nada esta escrito y todo depende de la version del compilador que utilices y recuerda que no lo mismo C que C++
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS

Publicado por fernando.gomez (1603 intervenciones) el 06/07/2005 23:43:27
Bueno, hay un estándar de C, ISO C99. Sin embargo --como Charly comenta-- mucho depende tanto del compilador como de la plataforma. Evidentemente si el programa fué escrito para Windows, éste no va a compilar en Unix. Raramente los programas son cien por ciento portables, y rara vez no se hace uso del sistema operativo.

Aún siendo los programas portables, cada compilador puede no implementar alguna funcionalidad del estándar. C está muy estandarizado, pero aún hoy en día C++ hay muchos problemas de compatibilidad. Esto, sin mencionar que hay muchos distribuidores que le meten mano y agregan extensiones (a la cabeza está Microsoft con su horrible y prostituída Visual C++ 8). Si alguien programa con extensiones de algún compilador, tienes que compilar con ese mismo (es raro que un compilador sea compatible con otro, pero se han hecho algunos esfuerzos; MINGW soporta las extensiones del lenguaje más importantes de Visual C++ como __declspec(dllexport), __declspec(dllimport) y __stdcall).

Otro problema es que un programa haya sido escrito respetando el estándar, pero que el compilador no soporte alguna funcionalidad. Un ejemplo lo tenemos con los miembros constantes en una clase, en Visual C++ 6. El siguiente código no compila:

class CClase
{
public:
const int numero = 5;
};

Esto, porque Visual C++ no permite el que se haga esto, aunque el estándar sí(esto ya fué corregido para VC7). La clase tendría que quedar como:

// en el header:
class CClase
{
public:
static const int numero;
};

// en el CPP
const int CClase::numero = 5;

Hay que declararlo como estático e inicializarlo como tal en el CPP. Si omitimos el "static" mandará el error de que no ha sido inicializado...

En fin, para que tus programas compilen es muy recomendable que conozcas el estándar de C/C++ además de la documentación de tu compilador. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar