Я следовал примеру программирования для написания небольшого приложения, детали самого приложения не важны. Проблема или беспокойство здесь в том, что в этом приложении провайдер использует функцию POSIX
popen()
.
Строка кода выглядит следующим образом:
static FILE* fp = popen( "resample mr1789800 r48000 | aplay -fdat 2>/dev/null", "w" );
И они компилировали свой код с помощью g ++, я не знаю, какую версию они использовали.
Я работаю на платформе Windows 7 x64 в Visual Studio 2017 с компилятором, настроенным на последний составленный стандарт, все остальные параметры являются стандартными или стандартными. Это общий сценарий.
Весь остальной код в примере провайдера выглядит переносимым, это единственный фрагмент кода, который я видел, который является родным для функциональности POSIX
.
Похоже, что они используют popen
для загрузки файла во внешнюю программу, и, судя по приведенному выше коду, кажется, что программа основана на Unix aplay
.
Если я пытаюсь имитировать это поведение в Windows с помощью Visual Studio, какие инструменты потребуются для использования?
Будет ли _popen()
делать то же самое, значит, они почти эквивалентны? Если это так, то вторая половина вопроса: если aplay
- это программа, открывающая аудиофайл, какие параметры доступны для меня, для окон, которые будут обрабатывать аудиофайл так же, как тот, который найден в типичной системе Unix? Если не; в чем разница между ними и куда мне идти отсюда?