Влад Зайцев, Зачем?
Сделайте 1 makefile с использованием PROJECT
сделайте командный файл с запуском make с инициализацией PROJECT, как я указал выше.
И у вас останется только один короткий makefile.
На каждый новый проект просто будете добавлять в файл командный файл еще одну строку с измененным именем проекта.
Влад Зайцев, В новом проекте вы просто можете скопировать makefile и в одном месте исправить название проекта.
Или как предложил rustler2000 строки
$(PROJECT)-fb: $(PROJECT)e-CLEAN
../../tools/backdoor-bootloader.py -e -w -v $(PROJECT)-firmware.hex
и т.п. вынести в отдельный makefile и подключать его с помощью include в makefile проекта, который содержит инициализацию переменной PROJECT.
Либо даже можно обойтись без makefile проекта и инициализировать PROJECT при запуске make (об этом то же писал rustler2000 ):
make /f makefile PROJECT=ubridge
Добавлю отсебятины:
1.Удалите не известный софт, который может установиться в комплекте с другим софтом.
2.Загрузитесь с какого-либо live носителя, с него почистите каталоги %TEMP% всех пользователей, удалите подозрительные исполняемые файлы/каталоги в профилях пользователей и в системном каталоге.
3.Загрузитесь в нормальном режиме и воспользуйтесь autoruns, там удалите из автозагрузки все то что вы не сможете опознать.
4.Работайте на компе с правами пользователя, администратору и пользователю дайте нормальный пароль, включите контроль учетных записей (если выключен).
Выше - копирование, а это перемещение:
move /y d:\1\* d:\2
С перемещением у винды есть побочный эффект: если права на папку d:\1 и d:\2 разные, то при перемещении из 1 в 2 права перемещенных файлов в папке 2 останутся те ми же, что были в папке 1. При копировании права новых файлов наследуются от каталога. Поэтому часто сначала копируют, потом удаляют.
Удалять:
del /f /q d:\1\*
Драйверы не проблема, если на ДНСе их нет, то можно найти по ID оборудования на сайтах производителей железа либо, что проще, воспользоваться любым драйвер паком, например SDI.
Алексей Костюхин, Обычно винда сама это видит и начинает ошибки кидать. Да и карты же работают какое-то время. На счет МАСов просто посмотрите МАС в работающем состоянии: в Вин10 команда getmac /v
И потом, когда сеть отвалится.
С дополнительным охлаждением как себя ведут? (выше писал про перегрев)
Теоретически да. Практически ... это была бы аппаратная проблема или проблема драйвера.
С аппаратной проблеммой - весь инет уже был бы завален подобными ошибками.
Драйвер - вылечили бы в следующей версии драйвера.
Но у вас на разных коммутаторах они себя так ведут, поэтому это не оно.
Еще вариант - поставьте для теста новый блок питания на материнку, БП желательно новый и с хорошим запасом мощности.
Включать/выключать сетевые интерфейсы можно через netsh.
Как временное решение можно сделайте батник выключающий и включающий интерфейс, который будет запускаться по расписанию.
В сети еще есть аналогичные машины, кроме этой группы, с такими же сетевыми адаптерами и которые работают нормально? Если есть, то какая между ними разница?
Попробуйте поискать в англоязычном интернете похожую проблему. Ищите по названию сетевого адаптера (или материнской платы, если встроенный). Кстати, вы тут этой информации не дали.
Алексей Костюхин, По МАСам - сначала просто засеките что с ними происходит, возможно, что все нормально, значит не в этом дело.
Если в свойствах сетевого адаптера можно сменить МАС, то меняйте там. На сколько я знаю так же поменять МАС можно через реестр.
Кстати, если компы новые, то можно обратится к поставщику оборудования, иногда они могут по своим каналам например достать драйвера от производителей, которые еще не опубликованы официально. Как раз так и закончилось в моем случае (правда ждать пришлось долго и к тому времени уже был найден подходящий костыль). Это, конечно, не отменяет собственных раскопок.
Еще вариант - вы писали, что иногда при перезагрузке адаптера выдается ошибка, возможно, что кривой драйвер. Можно поэкспериментировать с версиями драйверов. Начать стоит с драйвера, который есть в самой винде (если она определяет этот сетевой адаптер).
uint64_t var= 0x000100100fe80010u;
uint64_t mask = 0;
for(int i = n; i < m; ++i)
{
mask |= (1 << i);
{
// На выходе в mask биты от n до m выставлены в 1, остальные - 0
var |= ~mask;
Вам нужно перекодировать или программировать? Из вопроса не очень понятно.
Если нужно перекодировать, то подобных кодировщиков полно в интернете. Ищите они есть. В свое время пользовался несколькими вариантами кодировщиков. Вот например варинат iconv, только в одном флаконе.
Если программировать, то в WinAPI есть функция, которая осуществляет эту операцию: MultiByteToWideChar и обратная WideCharToMultiByte.
Алексей Костюхин, Драйвера сетевухи обновили? Драйвера взяты у производителя сетевого адаптера?
Чтоб отсечь коммутаторы, возьмите один из компов в тестовое окружение (с другим коммутатором, желательно с самым убогим, который дальше L2 не лазит), этот коммутатор больше никуда не втыкайте - только комп и коммутатор. Будет сетевая падать?
Если да, то проблема именно в сетевой карте или в драйверах.
Еще можно посмотреть на МАС адреса: они могут быть одинаковые или могут сбрасываться. Один раз сталкивался - на встроенных сетевухах на офисной материнке от MSI был один и тот же МАС.
Еще тест - если дать постоянную нагрузку на сеть (включить пинг постоянный, например) будет адаптер отваливаться?
Алексей Костюхин, Посмотрите планировщик заданий винды на это время, возможно отключение карты какой-то побочный эффект одного из заданий. Отключите управление электропитанием на сетевой карте.