¿ Mismo compilador, distinto resultado ?

PeTaSeTA

En casa trabajo con una Mandrake 9.0 y con el gcc 3.2. En la universidad los ordenadores tienene instalado una Red-Hat 8.0 y con el gcc la misma versión. Hasta ahí ningún problema. Los programas hechos en un sitio son totalmente compatibles en el otro y viceversa.

No obstante hoy me ha surgido una duda/problema respecto al uso de tuberías en cada versión.

Es un programa relativamente sencillo y se basa en lo siguiente: mediante tuberías pasar información de un fichero a otro nuevo que debes de crear y copiar el contenido del fichero inicial al fichero final con tuberías.

EL problema se basa que en mi casa lo hago y funciona perfectamente. No obstante con la red-hat compilo el programa (sin problema) pero a la hora de ejecutarlo surje el problema. El archivo se crea de manera correcta, pero el contenido del fichero no se copia, cuando debería de hacerlo.

¿ Alguien tiene idea de pq es ?

PiTaGoRaS

A mi me paso algo parecido con las colas de mensajes, pero claro, esto era entre una sparc con solaris y un linux en x86 :D

Yo en estos casos suelo meter debug a saco, empezar con el metodo de ensayo y error. Prueba a comprobar que las tuberias se crean bien, a mostrar por pantalla cada dato que recibes, etc etc. Vas llenando el codigo de detectores de error hasta que acotas el problema.

PeTaSeTA

He hecho varias trazas del programa, he puesto mensajes para enterarme por donde va el main, y va por el sitio correcto. Pero sigue sin copiar el contenido :S.

PD: Estoy asqueado >S

PeTaSeTA

El problema estaba en el tamaño de una variable buffer. Reduciéndola el problema desaparecía aunque el programa efectuaba más operaciones, puesto que repetía un while mas veces

Usuarios habituales

  • PeTaSeTA
  • PiTaGoRaS