Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Разобрать блок приведенного кода Есть код: Game::Game() : mWindow(sf::VideoMode(640, 480), "SFML Application", sf::Style::Close) , mTexture() , mPlayer() , mFont() , mStatisticsText() , mStatisticsUpdateTime() , mStatisticsNumFrames(0) https://www.cyberforum.ru/ cpp-beginners/ thread1246514.html C++ Выделение статической памяти, не используя статические объекты
Здравствуйте! Как известно, когда мы объявляем статическую переменную, то компилятор выделяет ей место с самого начала, т. е. располагает в статической памяти, оптимизируя расположение. Однако, я не могу использовать модификатор static в моем случае. Есть ли какие-либо способы прокрутить то же самое, но без использования static?
C++ Можно ли разширять матрицу без удаления предыдущей Интересует вопрос, можно ли разширять матрицу без удаления предыдущей. Покажу сразу пример: Допустим есть некая структура, и так я её первоначально заполняю: var **v; v = new var*;//динамическая матрица for (int i = 0; i < CMY; i++) v = new var; И так CMY - это кол-во строк, а CMX - кол-во столбцов. https://www.cyberforum.ru/ cpp-beginners/ thread1246506.html C++ Разработать три класса, которые следует связать между собой, используя наследование Разработать три класса, которые следует связать между собой, используя наследование: класс Product, который имеет три элемент-данных - имя, цена и вес товара (базовый класс для всех классов); класс Buy, содержащий данные о количестве покупаемого товара в штуках, о цене за весь купленный товар и о весе товара (производный класс для класса Product и базовый класс для класса Check); класс... https://www.cyberforum.ru/ cpp-beginners/ thread1246502.html
Запуск деструктора не осуществляется в приведенном коде C++
Добрый день. Написал программу, а в ней не хочет автоматически запускаться, хотя я вроде бы всё правильно делаю. Прошу подсказать, в чём может быть проблема. #include "stdafx.h" #include <conio.h> #include <iostream> using namespace std; class Work { private:
C++ Где в памяти хранится тип указателя? Привет! Вы не подскажите, где в памяти храниться тип указателя? Ну допустим, у нас x86 и указатель занимает 4 байта, но эти 4-е байта - это ж просто адрес, а где хранится сам тип? Ведь есть же тип указателя, ну не всё же void*, есть же int*, bool*, double*, MyClass* и т.д. Я даже знаю, что есть информация о размере блока, на который указывает указатель как бы, он с каким - то смещением рядом... https://www.cyberforum.ru/ cpp-beginners/ thread1246426.html
C++ Есть ли разница между Visual C++, Borland C++ и C++ Builder? Какая разница между этими диалектами, или незнаю как это точно называется. И какой лучше? https://www.cyberforum.ru/ cpp-beginners/ thread1246424.html C++ Как передать указатель функции, чтобы значение переменной изменилось?
Имеются переменная и указатель на нее. int x, *y = &x; Как передать указатель ф-ии, чтобы значение переменной изменилось?
C++ Вычислить выражение https://www.cyberforum.ru/ cpp-beginners/ thread1246421.html
Доброго времени суток всем.Подскажите,как реализовать вычисление данного выражения на С++.С помощью простейших операторов и цикла For. Составить программу вычисления выражения (((5^2-4^2)^2-3^2)^2-2^2)^2-1^2)^2
C++ Ошибка "чтение памяти невозможно" во время перехода к строке с функцией https://www.cyberforum.ru/ cpp-beginners/ thread1246413.html
При запуске программы вижу ошибку "чтение памяти невозможно" во время перехода к строке с функцией ext() Не могу понять в чем дело, может просто с указателями неправильно работаю или еще что?! #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; template <typename T> struct Node
C++ Зерно генерации для нормального распределения
Seed для normal distribution Влияет ли на генерируемую последовательномть с помощью std::normal_distribution зерно генерации srand(seed)?
C++ Нужен сайт с материалами, лекциями и примерами решения задач https://www.cyberforum.ru/ cpp-beginners/ thread1246409.html
Здравствуйте, подскажите пожалуйста сайт, портал или что то подобное для изучения программирования на С++. Хотелось бы иметь место откуда можно почитать и посмотреть примеры... Поделитесь если не жалко...
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
25.08.2014, 01:49  [ТС] 0

Потоки или коллбэки? - C++ - Ответ 6547087

25.08.2014, 01:49. Показов 1700. Ответов 7
Метки (Все метки)

Ответ

Просветите еще пожалуйста в таком моменте - вот моя процедура запуска проигрывания семплов из памяти:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void Play_Proc(HWND hWnd)
{
    MMRESULT result;
    static HWAVEOUT hWaveOut;
    static WAVEHDR  WaveOutHdr;
 
    WAVEFORMATEX wfx;
    wfx.wFormatTag = WAVE_FORMAT_PCM;     //  simple, uncompressed format
    wfx.nChannels = 1;                    //  1=mono, 2=stereo
    wfx.nSamplesPerSec = sampleRate;      //  44100
    wfx.wBitsPerSample = 16;              //  16 for high quality, 8 for telephone-grade
    wfx.nBlockAlign = (wfx.wBitsPerSample >> 3) * wfx.nChannels;
    wfx.nAvgBytesPerSec = wfx.nBlockAlign * wfx.nSamplesPerSec;
    wfx.cbSize = 0;                       //  size of _extra_ info
 
    result = waveOutOpen(&hWaveOut, WAVE_MAPPER, &wfx, (DWORD_PTR) hwndGraphOut, 0L, CALLBACK_WINDOW);
    if (result) {
        //wchar_t fault[256];
        //waveOutGetErrorText(result, fault, 256);
        MessageBoxW(NULL, L"Ошибка открытия выходного потока", L"Error", MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL);
        return;
    }
    WaveOutHdr.lpData = (LPSTR)waveOut.buf;
    WaveOutHdr.dwBufferLength = NUMPTS*2;
    WaveOutHdr.dwBytesRecorded = 0;
    WaveOutHdr.dwUser = 0L;
    WaveOutHdr.dwFlags = 0L;
    WaveOutHdr.dwLoops = 0L;
    waveOutPrepareHeader(hWaveOut, &WaveOutHdr, sizeof(WAVEHDR));
    result = waveOutWrite(hWaveOut, &WaveOutHdr, sizeof(WAVEHDR));
    if (result) {
        MessageBoxW(NULL, L"Ошибка выдачи в выходной поток", L"Error", MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL);
        return;
    }
}
, вот как я освобождаю ресурсы по окончании проигрывания:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
LRESULT CALLBACK GraphWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch(msg)
    {
    case MM_WIM_DATA:
        waveInUnprepareHeader((HWAVEIN) wParam, (LPWAVEHDR) lParam, sizeof(WAVEHDR));
        waveInClose((HWAVEIN) wParam);
        SetWindowTextW(hwndSta1, L"MM_WIM_DATA");
        InvalidateRgn(hwndGraphIn, NULL, TRUE);
        SendMessage(hwndGraphIn, WM_PAINT, 0, 0);
        break;
    case MM_WOM_DONE:
        waveOutUnprepareHeader((HWAVEOUT) wParam, (LPWAVEHDR) lParam, sizeof(WAVEHDR)); 
        waveOutClose((HWAVEOUT) wParam);
        SetWindowTextW(hwndSta1, L"MM_WOM_DONE");
        break;
..................
Я сделал переменные
C++
1
2
    static HWAVEOUT hWaveOut;
    static WAVEHDR  WaveOutHdr;
статическими, иначе при выполнении возникала ошибка. Просто не хотелось делать их глобальными, хотя мне нужно обращение к ним в процедуре окна при освобождении ресурсов, но там я получаю их в качестве параметров оконной процедуры. Скажите, это нормальное решение? Или статические это те же глобальные и не надо так делать?

Вернуться к обсуждению:
Потоки или коллбэки? C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2014, 01:49
Готовые ответы и решения:

Коллбэки или проверка пароля
Вот просидел я с ней уже больше часа, а в итоге получился один бред. Добрые люди, помогите...

Нужны ли коллбэки или это синтаксический сахарок сомнительно
Коллбэк - исполняемый код, передаваемый посредством указателя в функцию как аргумент. Обычно...

Коллбэки
Иногда бывают ситуации, когда вы хотите поручить управление программой функции, а не...

3.7 Процессы или потоки ?
Создал с помощью мультипроцессинга два процесса заполняющие некий сайт параллельно (webdriver), все...

7
25.08.2014, 01:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2014, 01:49
Помогаю со студенческими работами здесь

Потоки или FILE
Здравствуйте. Делаю двумя способами открытие бинарного файла... int sizeFile; FILE...

Хэндлы или потоки в C++11
Здравствуйте. Помогите новичку выполнить данную задачку на C++11: 1. Написать программу,...

Параллельное программирование или потоки
Параллельное программирование или потоки , что выбрать xe10

Потоки и копирование или подсчет
Как сделать так чтобы циклом в потоке отдельном копировать/подсчитывать данные из одной БД в...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru