Задать вопрос
  • Как это сделать это задание на c++?

    @res2001
    Demorozzz, Посмотрите таблицу CP1251, например тут: https://ru.wikipedia.org/wiki/Windows-1251
    Разница между строчной и прописной русской буквой в этой кодировке всегда константа, кроме буквы ё. И так в большинстве кодировок.
    Вам надо определится только со знаком константы. Если введена прописная буква, то константа положительная, если строчная - отрицательная.
  • Создал личный сервер в майнкрафт. после закрытия программы Putty, сервер закрывается (я полный ноль, все делал по гайдам), что делать?

    @res2001
    Просто установить screen мало - надо его использовать.
    Вместо screen можно использовать tmux, он то же умеет в это.
    Но совсем хорошо - это запускать все что должно работать "фоном" как службы (сервисы). Службы отвязаны от сеанса пользователя, не отваливаются при отключении соединения ssh, могут стартовать самостоятельно при перезагрузке.
    Не знаю можно ли запустить сервер майнкрафт как службу, эта тема меня не интересует.
  • Как подключить dll к консольному приложению c++?

    @res2001
    Подключение dll к консольному приложению ничем не отличается от такого же действия для "не консольного" приложения.
    Для подключения любой библиотеки нужно выполнить одни и те же действия:
    1. Опционально: добавить в опции компилятора путь поиска заголовочных файлов библиотеки - опция -I компилятора
    2. В своих исходниках подключить заголовки библиотеки с помощью #inlude и использовать библиотечные вызовы по необходимости.
    3. Опционально: добавить в опции компилятора путь поиска бинарных файлов библиотеки (для микросовтовского компилятора файлов lib) - опция -L компилятора
    4. Указать компилятору имя библиотеки, которую он должен использовать при сборке - опция -l
    Обязательных действий только 2, остальное выполняется, если заголовки и/или бинарники библиотеки лежат где-то где компилятор не ищет их по умолчанию.
    Обычно эти опции для разных компиляторов совпадают.
    Микросовтовский компилятор использует файлы lib при сборке, а не dll. dll подключаются уже при выполнении программы.
    В разных IDE или системах сборки опции компилятора задаются разными способами.

    Ваша ошибка говорит о том, что вы не выполнили как минимум обязательный п.4 из вышеприведенного списка. Возможно еще понадобится и п.3.
  • Почему возникает ошибка от VK API "One of the parameters specified was missing or invalid: photo is undefined"?

    @res2001
    Не имел дела с VK API. Но возможно тут
    save_url += "&photo=" + photo_data;
    photo_data - пустая строка. Выводите на экран сформированные запросы перед отправлением и посмотрите, что там получается.
    В тексте ошибки написано практически все: photo is undefined. Т.е. не определен параметр photo. Что собственно видно из ответа сервера: "photo":"" - пустая строка.
  • Как контролировать комплектацию рабочего места?

    @res2001
    Пользовался когда-то их инвентаризацией. Из плюсов - на винде не надо расставлять агенты - работает удаленно по WMI. Удаленный доступ по WMI надо, конечно, отдельно разрешать, но при наличии GPO это не проблема. Отчеты, оповещения - все на месте. Про линукс - не знаю как он с ним работает. Поддержка, кстати, отвечала довольно оперативно.
  • Почему эта программа вычисляет факториал больших чисел неправильно?

    @res2001
    Я бы реализовал многопоточную схему примерно так:
    1. разбиваем наш факториал на части и запускаем по потоку для каждой части.
    2. каждый поток генерирует свой собственный массив factorial, куда складывает результаты умножения своей части. Каждый массив локальный для своего потока и защищать его не требуется. Таким образом по окончании работы всех вычислительных потоков у тебя должно образоваться N массивов.
    3. Затем после окончания всех потоков уже в основном потоке перемножаешь все N массивов. Когда потоки закончили свою работу все N массивов переходят во владение основному потоку и становятся локальными для него, защищать мьютексом то же ничего не надо.
  • Почему эта программа вычисляет факториал больших чисел неправильно?

    @res2001
    Zxvvo, На счет гонок.
    У тебя в multiply_range 2 вложенных цикла. Только во втором ты пытаешься защитить factorial мьютексом, а между тем в первом у тебя есть запись в него - а это гонка в многопоточном исполнении.
  • Почему каст u32::MAX в f32 увеличивает число на 5?

    @res2001
    Числа с плавающей точкой (float, double) всегда приближенные.
    Лишь некоторое не большое количество целых чисел может быть представлено точно в формате с плавающей точкой. Но на это не стоит рассчитывать.
    На сколько помню, точность float - 5-6 значащих десятичных цифр. У double больше.
  • Почему эта программа вычисляет факториал больших чисел неправильно?

    @res2001
    Zxvvo,
    Я просто не программист, это у меня задание такое.

    Ты не программист, а задание у тебя как у программиста. Что-то не складывается.
    Если ты не программист, то про SIMD можешь не заморачиваться. SIMD - это SSE, AVX и т.п. расширения интеловских (и AMD) процессоров, когда одну операцию выполняешь сразу с несколькими числами.
  • Как настроить WOL(Wake-on-Lan)?

    @res2001
    mal0znaal,
    Но (по крайней мере, на заводской прошивке) роутер не дает возможности изменять ARP таблицу.

    Проверил сейчас на своем домашнем асусе.
    1. Проброс порта с широковещательным адресом не работает. С адресом хоста - работает.
    2. Добавить записи в ARP таблицу роутера можно через консоль роутера с помощью стандартной линуксовой команды arp (см. arp --help). Правда после перезагрузки роутера запись исчезает, но, по крайней мере, таймаут на нее уже не действует.
    3. В консоль можно попасть включив ssh или телнет или в меню администрирование есть некое подобие консоли.

    Сейчас на роутере прошивка заводская, возможно с openwrt было бы больше возможностей.
  • Как настроить WOL(Wake-on-Lan)?

    @res2001
    pfg21,
    т.е. как свезет

    Согласен. Из-за специфических особенностей конкретного роутера может не взлететь.
  • Как настроить WOL(Wake-on-Lan)?

    @res2001
    mal0znaal,
    А вот как сделать так, чтобы запрос на определенный порт потом передавался на широковещательный адрес я не совсем понял…

    Просто указывайте широковещательный IP адрес при настройке проброса вот и все.
  • Как настроить WOL(Wake-on-Lan)?

    @res2001
    Теоретически при настройке проброса можно отправлять широковещательный пакет, а не на конкретный адрес. В таком случае привязка к МАСу может и не понадобится. Когда-то экспериментировал с WOL, по моему такой вариант работал.

    Но если без широковещательной рассылки, то надо еще дополнительно в ARP кэш на роутере добавить статическую запись MAC-IP для включаемого компа. Настроить привязку в DHCP сервере не достаточно.
  • Как решить ошибку при сборке DAHDI?

    @res2001
    У меня в Убунту 24.04 эта функция присутствует. Проект с использованием функции собирается.
    libbsd у меня стоит, я ее не ставил, возможно поставилась как зависимость к чему-то. C тестовым проектом libbsd не линкуется.

    Функцию можно заменить в исходниках на strncpy, делают они одно и то же, по параметрам совпадают, но strlcpy всегда возвращает нуль терминированную строку, а strncpy не всегда (тут эту проверку надо делать после вызова).

    Если без правок кода, возможно поможет включение GNU расширений - добавьте опцию -D_GNU_SOURCE компилятору. Или как вариант добавить в самое начало dahdi-base.c строку
    #define _GNU_SOURCE

    Функция strlcpy объявлена в стандартном файле string.h, а потому для ее использования не нужны ни какие дополнительные библиотеки, достаточно стандартной libc. Но она там спрятана за условными директивами препроцессора, по идее эти условия должны срабатывать при включенных GNU расширениях.
  • Почему название файла в моей ОС изменяется само?

    @res2001
    Не ясно ваш вопрос по коду или по работе ОС?
    Какая у вас используется ОС? Такое впечатление что это ваша собственная ОСь.
    Файл фактически меняет название? Что показывает стандартная утилита ls (или dir)?
    Представленный код - это код утилиты tree или чего-то еще?
  • Как стать начинающим программистом в текущих реалиях?

    @res2001
    я не выдающийся человек ни в чём

    Не выдающиеся люди отличаются от выдающихся тем, что на одно и то же дело выдающимся требуется меньше времени. Вот и все. Не боги горшки обжигают и программы пишут.
    В 29 лет так о себе думать категорически вредно - отбивает всякую мотивацию.
    Куда легче всего пробиться в программирование?

    Легче всего пробиться туда где больше всего вакансий. Обычно там и конкуренция большая, но как правило она большая только для джунов, специалистов по выше уровнем всегда не хватает. Так что да, вам придется на начальном этапе походить по собесам и подтянуть навыки самостоятельно.
    Ваш набор навыков указывает на то, что вы интересовались веб разработкой и фронтендом. Вот и ищите вакансии в этой сфере.
    Хороший английский - большой жирный плюс.
    Усильте JS и начинайте искать вакансии джуна или стажера (с возможностью дальнейшего роста) на фронтендера.
  • Данные в таком случае будут хранится в стеке?

    @res2001
    Dyikot, Я, честно говоря, не разобрался сразу с этой конструкцией. Сходу подумал, что тут 1 кастуется к адресу. Сейчас повнимательней посмотрел - оказалось не так.
    В таком случае, если компилятор пропускает, значит можно. Но идея сомнительная.
  • Чем отличается выполнение программы на x86 процессорах 2003 и 2024 года выпуска?

    @res2001
    Нет принципиальной разницы.
    Если вы не хотите новейших оптимизаций под процессор, то можно использовать старый компилятор.
    Кроме процессора еще и операционные системы стали другими. Теоретически не везде может быть сохранена совместимость старых системных вызовов.
  • Как создать интранет без Linux?

    @res2001
    Интранет ни как не связан с линуксом или любой другой ОС. Он связан с протоколом TCP/IP для общения компьютеров в сети.
    На сегодняшний день практически любая локальная сеть - это интранет сеть и не важно какие там устройства в этой сети и ОС. Например типичная домашняя сеть с wifi роутером раздающим интернет для ноута и нескольких телефонов - такая локальная сеть - это интранет сеть.
  • Undefined behavior в C++?

    @res2001
    undefined behavior - неопределенное поведение.
    Т.е. стандарт не может гарантировать результат.
    Может быть все что угодно.

    В данном примере у вас arr лежит на стеке, память для стека уже выделена вся и обычно ее довольно много.
    Если сильно не выходить за границу массива, то стека вполне может хватить. Но скорее всего подобными присваиваниями перезапишется адрес возврата из функции и при return из данной функции переход произойдет куда-то в неопределенное место, ну и там уже будет segfault или access violation.
    В реальности чаще бывает выход за границы на 1-2 элемента и тогда вы скорее всего не повредите фрейм функции, но могут быть перезаписаны ваши же переменные которые лежат выше по стеку, чем arr. Как это скажется на выполнении программы - не известно. Все зависит от программы. Варианты могут быть: никак не скажется; не корректное выполнение алгоритма; segfault где-то в произвольном месте программы мало связанном с местом где произошла ошибка. Такие ошибки очень тяжело отлавливать. Гораздо проще их обнаруживать когда есть segfault.

    Если же количество итераций цикла не ограничивать то в конце концов произойдет выход за границу стека и там уже будет то же самый segfault или access violation.

    Если arr будет в динамической памяти, то там примерно то же самое. Может случится segfault. А может быть только повреждена структура менеджера памяти и segfaultа не будет, но при этом менеджер памяти может начать работать не корректно при следующих обращениях. и т.д и т.п.

    На счет защиты ОС - то же все не однозначно. В ОС с поддержкой виртуальной памяти Linux/Windows и т.п. защита есть и упадет только ваш процесс. Но есть и другие ОС, для встроенных применений, работающие на микроконтроллере, там защиты нет. И подобным кодом можно вообще всю память записать единицами, в т.ч. и память занятую ОС.
    Кстати, вроде бы Linux то же можно запустить на каких-то микроконтроллерах без виртуальной памяти и там то же не будет защиты.