[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: programar c++ en Debian



On Sun, 7 Nov 2004 12:11:11 +0100, José Luis Patiño Andrés
<jose.lpa@ono.com> wrote:

> gcc, que es el que usa el Dev-c++, ahora ya sí me compilan. De todos modos,
> he de hacer 2 puntualizaciones:
> 
> - Yo siempre antes de acabar el programa, añado un system("PAUSE"); antes del
> return 0; y esta es la salida que da la consola al finalizar todos mis
> programas:
> 
> sh: line 1: PAUSE: command not found
> 
> ¿Borro el system("PAUSE"); en mis programas de Linux?
> 

En windows, cuando ejecutas un programa en modo texto, al salir cierra
automáticamente la ventana. Si lo último que pones en el programa es
el pause se quedará abierta hasta que pulses la tecla dandote tiempo
para leer los mensajes finales del programa. (supongo que eso lo
sabías).

Estas llamando a un comando de MSDOS llamado PAUSE que  no existe en
unix por eso obtienes el error. Opciones:

+ eliminar la linea de todos los programas.
+ Crear el comando PAUSE: con «ln read PAUSE» lo creas y lo has de
copiar a algun directorio incluido en el PATH (/usr/local/bin/) y los
programas funcionarán por arte de magia.
(read lee espera a introducir una linea de texto terminada con enter,
así que si se pulsa directamente enter, vale como una pausa).


> - El g++, igual que el gcc me dan el siguiente aviso al iniciar la
> compilación:
> 
> En el fichero incluído de /usr/include/c++/3.3/backward/iostream.h:31,
>                  de suma_3a.cpp:1:
> /usr/include/c++/3.3/backward/backward_warning.h:32:2: aviso: #warning This
> file includes at least one deprecated or antiquated header. Please consider
> using one of the 32 headers found in section 17.4.1.2 of the C++ standard.
> Examples include substituting the <X> header for the <X.h> header for C++
> includes, or <sstream> instead of the deprecated header <strstream.h>. To
> disable this warning use-Wno-deprecated.
> 
> Creo que está diciendo que las librerías que yo uso están obsoletas y que
> debería usar otras.

No, lo que dice es que la forma de llamar a las libreras es obsoleta
no las librerias en sí. Te dice donde mirar información y te pone un
ejemplo: donde dice #include<sstream.h> debes poner #include<sstream>
y así sucesivamente. si es un código portado, quizás lo mejor es
indicar al compilar la opción  -Wno-deprecated para que no se queje y
ya está.

> > PD: Conste que yo no soy programador c++, estoy aprendiendo ahora un
> > poquito

antiguamente el C++ era un superconjunto de C (un C con esteroides),
actualmente el C++ es un lenguaje independiente muy parecido al C pero
no compatible. Te aconsejo que te busques un buen libro de C++
moderno. Debe de hablar de namespaces y de STL (entre otras cosas), en
caso contrario te encontraras con ejemplos que extrañamente no te
funcionarán. El Thinking in C++ (ya mencionado en el hilo es una buena
opción).

atte. javier m mora



Reply to: