![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
Flashdown |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 27.5.2006 Где: Москва Репутация: нет Всего: нет |
Имеется следующая задача:
Один процесс записывает случайные числа через случайные промежутки времени в разделяемый сегмент памяти , а вторая программа их оттуда считывает , тоже через случ. промежутки времени. Всё работает, за исключением того что вторая программа выводит одни нули вместо чисел... Вот код: HEADER.H
WRITER.C
reader.c
помогите найти ошибку!!! |
||||||
|
|||||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
М-дя. И как тут ошибку искать. Сделай, плиз, вот что :
1. Удали нафиг все комментарии. Их лучше отдельным постом запость. 2. K&R рулит ! Т.е. "{" и if (else if) в _одной строчке_ : if (true) { printf ("OK"); } Я так привык что не на K&R уже смотреть не могу. |
|||
|
||||
GrayCardinal |
|
||||||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Угу. Так вот. С ftok лично у меня просто сообщает что не может создать ключ. И еще
reader.c
writer.c
Там в квадратных скобках смещения просто разные. И даже если хочется пользовать семафор как счетчик, то только не так. Ибо get_state () при первом запуске есть -1. Результат сам посчитай.
И (get_state () > 10) не лучший способ проверять количество данных в буфере. Наверно стоит отделить кусок области общей памяти и добавить туда все необохдимые переменные. Пускай даже в данном случае она одна. |
||||||
|
|||||||
Flashdown |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 27.5.2006 Где: Москва Репутация: нет Всего: нет |
ну с ftok это понятно что там долны быть одинаковые значения первого параметра...
попробую проверить что Вы посоветовали... |
|||
|
||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Я пацан. Мне 0x14 лет. Просьба учитывать это ![]() |
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 4 Всего: 317 |
Кстати, об К & R, можно пропустить весь этот код через:
indent -kr *.c и узришь, как код Си должен выглядеть с точки зрения индентации. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
bilbobagginz,
Не поможет. Меня проняло только когда в реадмешке по стилю ядра прочитал 1. K&R is good 2. K&R is good А когда через indent только иллюзия создается правильно написанного кода. А чужие программы прогонять так не помогает - проверено. Если у человека #ifdef через строчку да комментарии после каждого слова, это все равно попа ![]() |
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 4 Всего: 317 |
Кстати, об К & R, можно пропустить весь этот код через: indent -kr пропустить.
-------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
Pete |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 5.1.2006 Где: Москва Репутация: нет Всего: 12 |
Хм.. С чего бы это? Может, на /key прав нет (или его вообще нет)? ![]() -------------------- Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу) Не откладывай на завтра то, что можешь сделать сегодня. (Пословица) А теперь выпишем точное значение числа пи... (Препод) Жахни, Пендальф! © Гоблин |
|||
|
||||
sikroz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.12.2005 Репутация: нет Всего: нет |
20d лет пацану - учтите
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |