Ternick, Напишите скрипт сборки и читайте из файлов и генерируйте любую строку, потом эту строку передайте компилятору как макрос (ключ компилятора -D).
В качестве рандомной строки можно например взять guid (uuid). В VisualStudio входит утилита uuidgen, которая генерирует guid и выводит его в stdin.
Вместо скрипта сборки можно использовать make или cmake, они позволяют выполнять произвольные команды
Сколько на компе ОЗУ?
Посмотрите какой процесс грузит систему (смотрите загрузку ЦПУ, памяти, дисковые операции) в менеджере задач. Его можно запустить с помощью Ctrl+Shift+Esc еще до загрузки exlorerа.
explorer поддерживает расширения. Расширения для него может добавлять любой софт, установленный на компе. Если какое-то расширение глючит, то будет глючить и эксплорер. Можно просто удалять по одному установленное ПО и наблюдать за реакцией explorerа после перезагрузки.
Но если проблема не в железе, то часто реально быстрее переустановить винду.
Разбираться с проблемами в винде можно неделями и не факт, что добьетесь успеха.
LAG_LAGbI4, Раз слетают права доступа у файла, то они были установлены непосредственно на файл.
При изменении файла не могут слетать права у каталога, в котором лежит файл.
Так что в вопросе описан ваш случай.
LAG_LAGbI4, Решение я описал в ответе.
Это поведение файловой системы, вы ничего с этим сделать не можете.
Его можно только обойти с помощью прав на вышестоящий каталог.
Вообще отдельные права на файлы - это зло, так же как и отдельные права для пользователя.
Руслан, стек понятие растяжимое. Посмотрите на модель OSI, там даже физический уровень есть. А стек TCP/IP это реализация модели OSI. Пусть и ущербная, пусть и появилась раньше самой модели.
Но для этого надо знать какой хост является шлюзом, и отправить пакет ему.
Расшифрую немного. Сетевой адаптер принимает только пакеты предназначенные конкретно ему (в MAC адресе получателя указан его MAC), т.е. пакеты не для него отбрасываются не попадая в комп дальше сетевого адаптера.
Поэтому когда вам надо отправить пакет в интернет через шлюз, ваш стек TCP/IP должен явно указать в пакете MAC адрес шлюза. Узнать его он может с помощью ARP запроса по IP адресу шлюза.
PS: Да, есть широковещательные IP пакеты, но ваш вопрос не про них.
PPS: Да, есть promiscuous mode режим работы сетевого адаптера, когда он принимает все попадающие к нему пакеты. Но этот режим используется обычно только в снифферах.
Тыкайте снифером :-)
Некоторые сниферы умеют фильтровать по процессу (например микрософтовский Message Analizer), только этот факт превращает "тыканье", в конкретный целевой перехват.
Не понял, зачем вам на одном хосте АД. По моему RDS вполне и без нее управляется.
Но если уж хочется АД, то ставьте все в одном флаконе. В вашем случае вообще необходимость в АД сомнительна, а если вы еще ей и отдельную виртуалку выдадите, то это будет просто разбазаривание ресурсов.
cmd однопоточный, асинхронность или события не умеет.
Вы уже используете таймаут - timeout
Не нужно отдельного таймаута. Ждите скрипта, который должен закончиться раньше. Потом, если надо, ждите второго остаток времени.
Руслан Кириченко, То же самое касается и любой другой библиотеки, которая доступна в своем пространстве имен. Всегда лучше указывать явно пространство имен.
Да и вообще явное лучше не явного.
pionerizm, Видимо в wav файле несколько каналов, в этом случае audioread возвращает двумерный массив.
В массиве элементы должны быть разложены по фреймам, а не по каналам.
Т.е. размерности такие: y[sample count][channel count]. Чтоб делать БПФ этот массив надо транспонировать, чтоб размерности были y[channel count][sample count]. В этом случае отсчеты по каждому каналу будут сгруппированы в одной размерности. Такой массив уже можно отдавать в БПФ.
Собственно, количество каналов в файле можно узнать по второй размерности возвращаемого массива. Если канал один, то скорее всего будет одномерный массив. Так же полно и других средств, с помощью которых можно посмотреть свойства аудио файлов.
В качестве рандомной строки можно например взять guid (uuid). В VisualStudio входит утилита uuidgen, которая генерирует guid и выводит его в stdin.
Вместо скрипта сборки можно использовать make или cmake, они позволяют выполнять произвольные команды