The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Программирования высокого уровня
.
Google unix.com



Программирования высокого уровня Почтовые вопросы о C, C + +, Java, SQL и других языках программирования здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
сегмент кода trob UNIX для чайников Вопросы И Ответы 1 04-23-2009 09:33 PM
Тестовая команда выглядит странно ... jjinno Shell программирование и сценарии 2 11-02-2007 07:31 PM
Экстракт сегмент mpang_ Shell программирование и сценарии 1 01-12-2007 01:33 AM
Странное сообщение об ошибке с Regex испытания ... fgilain Shell программирование и сценарии 4 05-31-2006 10:52 PM
Сегмент Ошибка zhshqzyc Программирования высокого уровня 9 04-07-2006 12:47 PM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 06-24-2009
yanglei_fage yanglei_fage is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2009
Сообщений: 25
странный сегмент вина примерно LTP POSIX-тест

Привет всем

В LTP -POSIX испытания, есть в случае open_posix_testsuite \ соответствия \ Interfaces \ timer_gettime \ speculative/6-1.c

Цитата:
# включить <time.h>
# включить <stdio.h>
# включить <errno. H>
/ / # включить "posixtest.h"
# определить BOGUSTID 9999
INT основных (INT argc, символ * argv [])
(
timer_t TID;
itimerspec его структуры;
TID \u003d (timer_t) BOGUSTID;

если (timer_gettime (TID, И ее) \u003d\u003d -1) (
если (EINVAL \u003d\u003d errno) (
printf ( "-1 СКЛС вернулся и errno\u003d\u003d EINVAL \ N ");
/ / возврат PTS_PASS;
() Другое
printf ( "-1 СКЛС вернулся, но errno! \u003d EINVAL \ N ");
printf ( "Test НЕ \ N");
/ / возврат PTS_FAIL;
)
)
printf ( "СКЛС не вернуть -1 \ N");
/ / возврат PTS_PASS;
)
Я запустить выше код, то есть сегмент вина, если изменить его до уровня ниже, он хорошо работает
Цитата:
# включить <time.h>
# включить <stdio.h>
# включить <errno. H>
/ / # включить "posixtest.h"
# определить BOGUSTID 9999
INT основных (INT argc, символ * argv [])
(
timer_t TID;
itimerspec его структуры;
INT tval \u003d BOGUSTID;
printf ( "% D \ N", tval);
TID \u003d (timer_t) &tval;
printf ( "% D \ N", TID);
если (timer_gettime (TID, И ее) \u003d\u003d -1) (
если (EINVAL \u003d\u003d errno) (
printf ( "-1 СКЛС вернулся и errno\u003d\u003d EINVAL \ N ");
/ / возврат PTS_PASS;
() Другое
printf ( "-1 СКЛС вернулся, но errno! \u003d EINVAL \ N ");
printf ( "Test НЕ \ N");
/ / возврат PTS_FAIL;
)
)
printf ( "СКЛС не вернуть -1 \ N");
/ / Возврат PTS_PASS;
)
Кто-нибудь может сказать мне, почему?
Old 06-24-2009
fpmurphy's Avatar
fpmurphy fpmurphy is online now Forum Staff  
Модератор
  
 

Регистрация: Декабрь 2003
Откуда: Florida
Сообщения: 1945
Снижение проблема его сущности делает его легче понять,

Код:
#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

Правильный заголовок в настоящее время включен, а со вступлением в настоящее время, что TID способен хранить значения, как показано выше. Обычно это предположение неверно, как timer_t указан в качестве непрозрачной типа POSIX.1. На большинстве версий GNU/Linux, timer_t фактически определяется

Код:
#define timer_t   void *

В вашем примере вы пытаетесь прочее 9999 в вакууме * - что не далее.

BTW, ваш обходной также неисправен. TID не установлен в 9999, но в адрес tval.
Reply

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 12:51 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0