Foros del Web » Programación para mayores de 30 ;) » Programación General »

C en Linux problemas de ejecución

Estas en el tema de C en Linux problemas de ejecución en el foro de Programación General en Foros del Web. EStoy empezando a progrmar en linux, ya he programado en bash y en perl pero ahroa resulta que no me corren los programas que estoy ...
  #1 (permalink)  
Antiguo 16/11/2004, 20:14
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 22 años, 4 meses
Puntos: 29
C en Linux problemas de ejecución

EStoy empezando a progrmar en linux, ya he programado en bash y en perl pero ahroa resulta que no me corren los programas que estoy probando en C. Este es un ejemplo del código y más abajo aparece el error.

#include <unistd.h>
#include <stdlib.h>

int main()
{
if ((write(1, "Aqui hay algunos datos\n" , 18)) != 18)
write(2, "Ocurrió algún error en el archivo 1\n" ,46);
exit(0);
}

ESte es el error

/home/juank/bin/simple_write.c: line 4: syntax error near unexpected token `('
/home/juank/bin/simple_write.c: line 4: `int main ()'

Antes que nada mil gracias por su interés y su tiempo

Saludos
  #2 (permalink)  
Antiguo 17/11/2004, 10:26
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 20 años
Puntos: 0
Hola Koveart:
Yo se algo de C en Linux, aunque no mucho, pero me encanta.
Lo primero, empieza por poner main (), en vez de int main ().
Lo digo porque en realidad no devuelves nada, y eso a Linux no le entra en la cabeza.
Y al primer error, no se que decirte, porque para mi que esta bien...
Aunque no me hagas mucho caso, eh??
Puede ser que solo sea una advertencia, y no un error??
Prueba, y ya me diras.
  #3 (permalink)  
Antiguo 17/11/2004, 10:52
 
Fecha de Ingreso: octubre-2004
Ubicación: COLOMBIA
Mensajes: 240
Antigüedad: 20 años, 1 mes
Puntos: 3
UTILIZA LAS LLAVES {}, DE PRONTO ESTE SEA EL ERROR
  #4 (permalink)  
Antiguo 17/11/2004, 11:27
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 20 años
Puntos: 0
RadicalEd:
No hacen falta esas llaves en este codigo en concreto.
  #5 (permalink)  
Antiguo 17/11/2004, 12:19
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Teniendo la función write definida por unistd.h según veo acá (http://www.die.net/doc/linux/man/man2/write.2.html) debería funcionar ya que el código es correcto.

Pero porque decis que es un error de ejecución eso mas bien parece un error en tiempo de compilación ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 17/11/2004, 16:42
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 22 años, 4 meses
Puntos: 29
Este código lo estoy sacando directamente de un libro que se llama Begining Programming in Linux, es un libro tan gordo como una vaca llena de leche. No tengo claro cómo ejecutar el programa. Por ejemplo para perl coloco

perl nombredelprograma.pl

y se ejecuta sin ningún problema el código que coloqué en su interior.

Para ejecutar el código en Linux tengo entendido que gcc es el compilador de linux (GNU C compiler) pero también me da error y cuando ejecuto el código solo colocando

./nombredelprograma.c

también aparece ese error, soy novato en programación en c y no entiendo el error en tiempo de compilación, pero esas son todas las señas que puedo dar para decirles qué hago para ejecutar un programa en linux, en este caso en c.

Saludos
  #7 (permalink)  
Antiguo 17/11/2004, 17:36
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Perl es un lenguaje interpretado mientras que C es un lenguaje compilado y necesitas justamente compilar el código, no podes ejecutar el código fuente como lo hacías con Perl.

Probá con:

./gcc -o programa.out programa.c

http://gcc.gnu.org/onlinedocs/gcc-3....verall-Options
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #8 (permalink)  
Antiguo 17/11/2004, 18:41
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 22 años, 4 meses
Puntos: 29
Excelente Eternal idol, entonces el proceso para terminar de entenderlo es que con gcc, sin necesidad de colocar ./ , compilo el programa "programa.c" en un archivo "programa.out" que ya es el código binario y ejecuto el programa.out, voy a ver si creo algún proceso para no tener que ejecutar todo eso para ver el resultado de los programas

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:39.