Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 436
от 01.01.2004, 14:50

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1361
Отправлено ответов: 2912
Активность: 213.9 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

chebv
Статус: Доверительный
Общий рейтинг: 113.3
[Подробней >>]
RedFox
Статус: Опытный
Общий рейтинг: 102.44
[Подробней >>]
Avl2k
Статус: Профессиональный
Общий рейтинг: 124.38
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1355. Hi! Будьте добры пример, как можно воспроизвести звуковой файл по наступлению определенного события,... (ответов: 1)
Вопрос № 1356. Здравствуйте, уважаемые эксперты! Поздравляю вас с наступающим Новым Годом. Большое спасибо за вашу ... (ответов: 1)
Вопрос № 1357. Скажите пожалуйста где есть Yacc and Lex под WIndows or DOS (для создания кода на Си), или аналочины... (ответов: 1)

Вопросов: 3, ответов: 3


 Вопрос № 1355

Hi!
Будьте добры пример, как можно воспроизвести звуковой файл по наступлению определенного события, например по нажатию кнопки(Visual С++).
With best regards.
alexneta.



Вопрос отправлен: 27.12.2003, 13:32
Отправитель: alexneta

[Следующий вопрос >>] [Список вопросов]

Отвечает chebv

Доброе время суток, alexneta!
Посмотри функцию PlaySound и ей подобные.

Ответ отправлен: 27.12.2003, 15:22
Отправитель: chebv


 Вопрос № 1356

Здравствуйте, уважаемые эксперты! Поздравляю вас с наступающим Новым Годом. Большое спасибо за вашу помощь.
Надеюсь на ваш совет, т.к. не могу сама разобраться в одной маленькой программке. Хотя это вопрос не по Си, но надеюсь, вы мне поможете.
Ниже приведен алгоритм «атомарной» функции, которая меняет местами верхние значения в двух стеках. Если один из стеков пуст, то второй не должен изменяться. В функцию никогда не передаются указатели на один и тот же стек.
Void AtomicSwap(Stack *s1, Stack *s2) {
Int v1, v2, rez;
s1->lock.Acquire();
rez=s1->Pop(&v1);
if (rez==OK) {
s2->lock.Acquire();
rez=s2->Pop(&v2);
if (rez==OK) {
s2->Push(v1);
s1->Push(v2);
s2->lock.Release();
s1->lock.Release();
}
}
}
Укажите на ошибки в этом решении и исправьте их, если они есть.
Извините за беспокойство и большое спасибо



Вопрос отправлен: 27.12.2003, 19:43
Отправитель: Ольга (b_olenka3@hotmail.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает RedFox

Добрый день, Ольга!
Освобождение блокировок стеков необходимо вынести на соответствующие уровни. Затем: поведение функции в случае ошибки?. По-провилам, хорошего тона, если в ходе выполнения функци были детектированы ошибки, то следует известить об этом вызывающую сторону, т.е. я бы написал эту функцию приблизительно так:
int AtomicSwap(Stack *s1, Stack *s2) {
int rez, v1, v2;
s1->lock.Acquire();
rez = s1->Pop(&v1);
if (rez!=OK) { // обработка ошибки }
else {
s2->lock.Acquire();
rez = s2->Pop(&v2);
if (rez!=OK) { // обработка ошибки }
else {
s2->Push(v1);
s1->Push(v2);
}
// убрать блокировку второго стека
s2->lock.Release();
}
// убрать блокировку первого стека
s1->lock.Release();
// вернуть статус завершения функции
return rez;
}


Ответ отправлен: 27.12.2003, 20:29
Отправитель: RedFox


 Вопрос № 1357

Скажите пожалуйста где есть Yacc and Lex под WIndows or DOS (для создания кода на Си),
или аналочиные им?
Спасибо,



Вопрос отправлен: 29.12.2003, 14:42
Отправитель: Sasha (felistovichs@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Avl2k

Доброе время суток, Sasha!
Например см. здесь, а вообще их портировали достаточно много.
С уважением, Avl2k.

Ответ отправлен: 29.12.2003, 15:50
Отправитель: Avl2k



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (25)
C / C++ (18)
Perl (4)
Builder / Delphi (20)
Pascal (21)
Basic / VBA (3)
Java / JavaScript (5)
PHP (11)
Криптография (7)
WinAPI (13)
Пользователю
Windows 95/98/Me (39)
Windows NT/2000/XP (52)
"Железо" (28)
Поиск информации (19)
Администратору
Windows NT/2000/XP (29)
Linux / Unix (14)
Юристу
Гражданское право (15)
Семейное право (9)
Трудовое право (10)
КоАП (9)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное