[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: Ejecucion de un programa en C para X Window



Pedro Barbosa wrote:
> 
> Hola, buen día.

hola

> Tengo un problema con la ejecución de un programa en C para el X Window, con un error de ejecución:
> Segmentation fault (core dumped).
> 
> Ya lo revisé y según yo, está bien, espero me podrían decir cual es el posible error, pues no me acepta ninguna función de las que pongo, este es el programita:

mira, hay una forma mas "normal" de ver que le pasa a un programa y es
utilizando el volcado de memoria del core, algo demasiado engorroso si
no tenes muy claro como debe estar tal variable en cada uno de los
momentos de la corrida, si es asi, usa el metodo mas "a la que te
criaste" que seria este: donde te parezca que puede haber un error, pone
un printf a la salida de error y ejecuta ese programa desde una xterm,
cuando lo ejecutes, antes del mensaje "core dumped" se habra impreso por
la xterm el ultimo mensaje que imprimio, algo asi como "parte 3", te vas
a la parte 3 y ves la sentencia anterior, ahi esta el problema, te doy
un ejemplo con tu codigo

> 
> #include <X11/Xlib.h>
> #include <X11/Xutil.h>
> #include <stdio.h>
> 
> main()
> {
> Display *display;
> Window ventana;

fprintf(stderr, "parte 1\n");

> 
> display = XOpenDisplay(NULL);

fprintf(stderr, "parte 2\n");

> ventana = XCreateSimpleWindow(display,RootWindow(display,0),50,50,500,400,2,0,1);

fprintf(stderr, "parte 3\n");

> XMapWindow(display,ventana);

fprintf(stderr, "parte 4\n");

> XFlush(display);

fprintf(stderr, "parte 5\n");

> getchar();
> }
> 
> según yo, supongo que el error esta en la variable display, pues el resultado de XOpenDisplay, me regresa un nulo y no le entiendo que ponerle.

esta bien el NULL, asi te abre la bentana en el display de tu maquina, o
sea: el display seteado en la variable DISPLAY

> 
> O no se si se tengan que definir las variables de ambiente DISPLAY y xhost, pero no se como definirlas.

no, esas variables ya estan definidas a la hora de ejecutar el entorno

> 

mira, para mi esta todo bien, lo compilas con  -L/usr/X11R6/lib -lX11
supongo...

recien lo compile y funciono a la perfeccion...

> Por su atención gracias.

de nada y suerte

> 
> _____________________________________________________
> En  tu  idioma  correo electrónico se dice CorreoWeb!
> GRATIS, tu cuenta con beneficios que NADIE más te da.
> ¿Y tú ya tienes CorreoWeb?       http://correoweb.com

PD: se me ocurre que el programita lo estas ejecutando en un entorno
x...

-- 
*
**
***
*------------------------
*  Dario Nasta
*  Junin-BsAs-Argentina
*  dnasta en ciudad com ar
*------------------------
***
**   "El que come y no convida,
*     tiene comida para mañana"



[Hilos de Discusión] [Fecha] [Tema] [Autor]