The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Hoog Niveau Programmering
.
google unix.com



Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
code-segment trob UNIX voor Dummies Questions & Answers 1 04-23-2009 08:33 PM
test commando ziet er vreemd uit ... jjinno Programmeren en Shell Scripting 2 11-02-2007 07:31 PM
uittreksel segment mpang_ Programmeren en Shell Scripting 1 01-12-2007 01:33
Strange foutmelding met regex test ... fgilain Programmeren en Shell Scripting 4 05-31-2006 09:52 PM
Segment Fault zhshqzyc Hoog Niveau Programmering 9 04-07-2006 11:47

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-24-2009
yanglei_fage yanglei_fage is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2009
Posts: 25
een vreemde segment schuld over LTP-POSIX test

Hi all

In ltp -POSIX test, is er een geval in open_posix_testsuite \ conform \ Interfaces \ timer_gettime \ speculative/6-1.c

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

if (timer_gettime (TID, & de) \u003d\u003d -1) (
if (EINVAL \u003d\u003d errno) (
printf ( "FCN terug -1 en errno\u003d\u003d EINVAL \ n ");
/ / return PTS_PASS;
) Else (
printf ( "FCN terug -1, maar errno! \u003d EINVAL \ n ");
printf ( "test is mislukt \ n");
/ / return PTS_FAIL;
)
)
printf ( "FCN niet return -1 \ n");
/ / return PTS_PASS;
)
Ik ren de bovenstaande code, zal een segment schuld, als ik het wijzigen tot onder, het werkt goed
Citaat:
# include <time.h>
# include <stdio.h>
# include <errno. h>
/ / # include "posixtest.h"
# define BOGUSTID 9999
int main (int argc, char * argv [])
(
timer_t tid;
struct itimerspec zijn;
int tvål \u003d BOGUSTID;
printf ( "% d \ n", tvål);
tid \u003d (timer_t) &tval;
printf ( "% d \ n", tid);
if (timer_gettime (TID, & de) \u003d\u003d -1) (
if (EINVAL \u003d\u003d errno) (
printf ( "FCN terug -1 en errno\u003d\u003d EINVAL \ n ");
/ / return PTS_PASS;
) Else (
printf ( "FCN terug -1, maar errno! \u003d EINVAL \ n ");
printf ( "test is mislukt \ n");
/ / return PTS_FAIL;
)
)
printf ( "FCN niet return -1 \ n");
/ / Return PTS_PASS;
)
Iedereen kan mij vertellen waarom?
  #2 (permalink)  
Old 06-24-2009
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderator
  
 

Join Date: december 2003
Locatie: Florida
Berichten: 1.921
Vermindering van het probleem tot zijn essentie maakt het gemakkelijker te begrijpen
Code:
#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
De juiste header wordt opgenomen, maar een aanname wordt gemaakt dat tid in staat is het opslaan van een waarde zoals hierboven getoond. Het algemeen deze veronderstelling onjuist is als timer_t wordt gespecificeerd als een ondoorzichtig type in POSIX.1. Op de meeste versies van GNU/Linux is timer_t daadwerkelijk door gedefinieerd
Code:
#define timer_t   void *
In uw voorbeeld probeer je spullen 9999 in een leegte * - die niet is ingeschakeld.

BTW, is uw oplossing defect ook. tid wordt niet ingesteld op 9999, maar naar het adres van tvål.
Reply

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 06:47 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0