Linux - Codigo C++ compatible Linux y DOS

 
Vista:

Codigo C++ compatible Linux y DOS

Publicado por Sauron (1 intervención) el 20/05/2004 16:59:28
Muy buenas:

Tengo una aplicación escrita en C++ que corre bajo MS DOS. Ahora bien, tengo que portarla a Linux, pero manteniendo la compatibilidad con DOS para poder compilar el mismo código tanto en Linux como DOS. Pongo un ejemplo de lo que necesito hacer:
#ifdef __cplusplus
extern "C" {
#endif
// PARA MS-DOS int __export _cdecl Funcion1 ( char *cParametro)
// PARA LINUX int Funcion1 ( char *cParametro)
#ifdef __cplusplus
}
#endif

Muchas gracias por adelantado.
Un Saludo,
-Sauron-
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:Codigo C++ compatible Linux y DOS

Publicado por chuidiang (101 intervenciones) el 25/05/2004 06:39:02
Depende de cómo sea la aplicacion. Si no lleva demasiadas cosas, puedes hacerla con c++ standard, con lo cual será compilable (más o menos) en ambos sistemas. En tu caso concreto, la función de linux debería entenderla también la de ms-dos.

Si la aplicacion es mas compleja y hay cosas que no son compatibles y no queda mas remedio que hacerlas asi, debes acudir a los #ifdef
Normalmente, suele haber unas variables definidas indicando el sistema y/o el compilador que estas usando (debes buscarlas, no me las sé de memoria) y poner algo como esto

#ifdef _DOS_
int __export _cdecl Funcion1 ( char *cParametro)
#endif
#ifdef _LINUX_
int Funcion1 ( char *cParametro)
#endif

Por ejemplo, sé que para ver si tu compilador es gcc, puedes mirar esto

#ifdef __GNUC__
...
#endif

Se bueno.
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