The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de Alto Nivel
.
google unix.com



Programación de Alto Nivel Plantear preguntas acerca de C, C + +, Java, SQL, y otros lenguajes de programación aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
segmento de código trob UNIX for Dummies Preguntas y Respuestas 1 04-23-2009 08:33 PM
comando test es extraño ... jjinno Programación de scripts de shell y 2 11-02-2007 07:31 PM
extracto de segmento mpang_ Programación de scripts de shell y 1 01-12-2007 01:33 AM
Extraño mensaje de error con regex prueba ... fgilain Programación de scripts de shell y 4 05-31-2006 09:52 PM
Segmento de fallas zhshqzyc Programación de Alto Nivel 9 04-07-2006 11:47 AM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 06-24-2009
yanglei_fage yanglei_fage is offline
Usuario Registrado
  
 

Fecha: enero 2009
Publicaciones: 25
una extraña serie de sesiones de la culpa sobre LTP-posix prueba

Hola a todos

En el PLP -posix de prueba, hay un caso en el open_posix_testsuite \ conformidad \ interfaces \ timer_gettime \ speculative/6-1.c

Cita:
# include <time.h>
# include <stdio.h>
# include <errno. h>
/ / # include "posixtest.h"
# define BOGUSTID 9999
int main (int argc, char * argv [])
(
timer_t tid;
itimerspec su estructura;
tid \u003d (timer_t) BOGUSTID;

if (timer_gettime (tid, y su) \u003d\u003d -1) (
if (EINVAL \u003d\u003d errno) (
printf ( "-1 y regresó FCN errnoEINVAL \u003d\u003d \ n ");
/ / retorno PTS_PASS;
) Else (
printf ( "-1 pero regresó FCN errno! EINVAL \u003d \ n ");
printf ( "Test NO \ n");
/ / retorno PTS_FAIL;
)
)
printf ( "FCN no return -1 \ n");
/ / retorno PTS_PASS;
)
Tengo el código anterior, se tiene un fallo de segmento, si se me modificarla más adelante, funciona bien
Cita:
# include <time.h>
# include <stdio.h>
# include <errno. h>
/ / # include "posixtest.h"
# define BOGUSTID 9999
int main (int argc, char * argv [])
(
timer_t tid;
itimerspec su estructura;
int tval \u003d BOGUSTID;
printf ( "% d \ n", tval);
tid \u003d (timer_t) &tval;
printf ( "% d \ n", tid);
if (timer_gettime (tid, y su) \u003d\u003d -1) (
if (EINVAL \u003d\u003d errno) (
printf ( "-1 y regresó FCN errnoEINVAL \u003d\u003d \ n ");
/ / retorno PTS_PASS;
) Else (
printf ( "-1 pero regresó FCN errno! EINVAL \u003d \ n ");
printf ( "Test NO \ n");
/ / retorno PTS_FAIL;
)
)
printf ( "FCN no return -1 \ n");
/ / Retorno PTS_PASS;
)
Cualquiera puede decirme por qué?
  #2 (Enlace permanente)  
Old 06-24-2009
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderador
  
 

Fecha: diciembre 2003
Ubicación: Florida
Mensajes: 1.924
Reducir el problema a su esencia, es más fácil de entender
Código:
#include <time.h>
#define BOGUSTID 9999

timer_t tid;
  
#if WANT_SEG_FAULT
   tid = (timer_t) BOGUSTID
#else
   int tval=BOGUSTID;
   tid = (timer_t) &tval;
#endif
La cabecera es correcta la inclusión de una hipótesis, pero se está realizando tid que es capaz de almacenar un valor como se muestra arriba. En general, esta suposición es errónea como se especifica timer_t ser un tipo opaco en POSIX.1. En la mayoría de versiones de GNU/Linux, timer_t es definido por
Código:
#define timer_t   void *
En el ejemplo que usted está tratando de 9999 cosas en un vacío - que no está bien.

BTW, su solución también es defectuoso. tid no se establece en 9999, pero a la dirección de tval.
Reply

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 05:53 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0