Задать вопрос
  • Чем отличается выполнение программы на 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 то же можно запустить на каких-то микроконтроллерах без виртуальной памяти и там то же не будет защиты.
    Написано
  • C++ std::cout не выводит ничего?

    @res2001
    Alex XYZ, Действительно - не легче.
    Если никаких #if нет, то этот участок кода должен отрабатывать и cout должен выводить текст.
    Можно в конце сделать flush для stdout.

    Запускаете программу через IDE? Попробуйте просто в отдельной консоли ее стартовать без IDE, будет какой-нибудь эффект от этого?
    Написано
  • С++ автоматически вставляет в функцию ссылку на вектор?

    @res2001
    Если функция принимает ссылку, то при вызове будет передана ссылка.
    Написано
  • C++ std::cout не выводит ничего?

    @res2001
    Пример кода где в релизной сборке не выводится, а в дебажной выводится в студию.
    Нельзя решить проблему не видя кода.
    Написано
  • Насколько больше будет занимать памяти Свойство (get + set)?

    @res2001
    Dyikot, Если речь только про сигнатуры ... то это дело IDE, думаю, что какие-то умеют.
    Какие умеют не знаю.
    Написано
  • Насколько больше будет занимать памяти Свойство (get + set)?

    @res2001
    Dyikot, В таком виде как сейчас эти методы смысла не имеют, т.к. никаких дополнительных проверок не производится. С тем же успехом можно сделать _value публичным.
    А более сложную логику компилятор сам сделать не сможет, т.к. не знает, какие условия ты хочешь навесить в этих методах.
    Поэтому компилятор ничего такого и не делает.
    set - нужен для дополнительных проверок входных параметров.
    а get идет парой, т.к. при наличии set связанный член класса предполагается приватным и get не обязателен.
    Написано
  • Насколько больше будет занимать памяти Свойство (get + set)?

    @res2001
    А то в VS не считает функциии в памяти.

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

    Для проверки выше написанного, можешь вывести на экран значение sizeof(Property<>)

    Так что не извращайся, а сделай обычные методы.
    Написано
  • Как в cmd файле указать путь куда должен установиться exe?

    @res2001
    Хрень ты нашел. Можно было просто:
    blabla.exe -s -d "D:\Program Files\blabla"

    На самом деле это к заявленному тегу отношения не имеет. Надо было запустить установщик с ключом /? возможно бы он написал поддерживаемые опции: blabla.exe /?
    Правильный ответ в данном случае дал VoidVolker
    Написано
  • Не подключается OpenVPN client, почему?

    @res2001
    Ошибка
    TLS key negotiation failed to occur within 60 seconds

    говорит о том, что сервер не доступен по указанному адресу.
    До ключей дело не доходит. И до блокировок провайдера я думаю то же.
    ВПН слетел видимо, на той стороне.
    Написано
  • В каких странах можно удаленно работать из РФ?

    @res2001
    aleks-th,
    а разве работу ищут по временам года ?

    По собственным наблюдениям HRы активизируются в начале осени и в начале весны.
    Как правило летом и зимой особой активности от них нет.
    Это когда сами HRы начинают активно зазывать.
    Самому искать можно в любое время года.
    Написано
  • Как сделать публичное подключение по ssh в termux?

    @res2001
    Это если телефон выходит в интернет по своему WiFi.
    Если телефон в интернете через сотового оператора, то все сильно усложняется, вплоть до не возможности выполнить.
    И это помимо того, что надо добавить дополнительного пользователя в ОС/sshd.
    Написано
  • Самый изящный способ встроенными средствами windows отправить письмо smtp, как?

    @res2001
    telnetом можно отправлять что-то простое, если сервер поддерживает не шифрованный SMTP. В сети хватает примеров как это использовать. Процесс можно автоматизировать, запихнув содержание письма в файл и отправив этот файл телнету в stdin: telnet ... <email.txt
    Написано
  • Linux. Перенаправление всего трафика между интерфейсами?

    @res2001
    wotjob, Маршрутизация настраивается через таблицу маршрутизации.
    На сервере должен быть прописан шлюз по умолчанию, доступный через интерфейс eth1, тогда добавится правильный маршрут по умолчанию и вообще все пакеты (в т.ч. и с gre) предназначенные для интернет пойдут на eth1 на шлюз по умолчанию.
    Написано
  • Static routes в Windows 10. Можно ли через них заблокировать доступ в интернет?

    @res2001
    Чтоб не было доступа к локальной сети можно поменять IP на какой-нибудь не входящий в вашу локальную подсеть. Из ком.строки можно сделать командой netsh. Потребуются права администратора. Чтоб вернуть доступ обратно - поменяйте адрес на рабочий или включите динамическое выделение адреса.
    Написано
  • Правильно ли написан скрипт командной строки?

    @res2001
    Хотелось бы чтоб это было так, но нет. В комментариях к вопросу написал почему.
    Написано
  • Правильно ли написан скрипт командной строки?

    @res2001
    BjornBorn,
    Нужно ли в конце скриптов писать exit или не обязательно?

    Не обязательно.
    Вроде всё работает

    Ну newFile.cmd у вас создается, только он вызывает ошибку при выполнении, т.к. его содержимое не корректно.
    Т.к. текст ошибки пишется в stderr, а его вы не перенаправляете в index.php, то index.php получается пустым. Саму ошибку можно увидеть, если запустить в консоли полученный newFile.cmd.
    Думаю правильней было бы как-то так:
    echo set /p =^<nul ^>index.php> newFile.cmd
    Полученный в результате newFile.cmd не вызывает ошибки при выполнении и генерирует пустой index.php
    Написано
  • Как исправить заполнение ОЗУ?

    @res2001
    awjfuwg,
    моя проблема (то есть следствие заполненности памяти) это крашинг приложений, а иногда и системы когда я запускаю процессы/программы которые потребляют выше 3000 МБ

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

    Так что я бы на вашем месте разбирался с приложениями которые падают.
    Падающая система - это вопрос другой. ОС падает обычно или из-за кривых драйверов или из-за неисправности оборудования. Из-за дефицита памяти система падать не должна.

    1. Проверьте включен ли у вас файл подкачки, какие лимиты установлены на него, хватает ли свободного места на дисках, где расположен файл подкачки.
    2. Протестируйте с пристрастием память, как писали выше. В случае битой памяти ошибки могут быть самые разные и часто никак не указывающие на проблемы с памятью. Если на тестах будут ошибки и у вас несколько плашек памяти, то нужно установить какая из плашек сбоит - оставляйте только одну плашку и прогоняйте тест. Битые плашки придется заменить.
    3. Еще одна аппаратная проблема, которая приводит к странному поведению системы - "уставший" блок питания. Когда появляется дополнительная нагрузка требуется больше мощности, но старый блок питания может не выдавать требуемую мощность и это то же может приводить к необъяснимым ошибкам. Тут проще всего найти другой БП и погонять комп с ним, если ошибок не будет - значит проблема со старым БП.
    4. Дальше можно протестировать диски, провести нагрузочное тестирование на процессор, видеокарту с диагностического загрузочного носителя.
    5. Если тесты результатов не дадут ... ну я бы уже на этом этапе переустановил винду, т.к. это гораздо быстрее, чем разбираться с ее ошибками. Но, если любите трудности, можно и поразбираться, правда без гарантий.
    Написано
  • Как реализовать ввод данных в консоль пользователем, пока он не введет определенное слово?

    @res2001
    Дамир Валиахметов,
    т.е. после первого ввода пары значений просто появляется пустая строка

    Да это не пустая строка, это то что ты видишь в ходе работы ReadLine в этом участке кода.
    while (Console.ReadLine() == stopWord);
    А это
    Console.WriteLine("Если хотите выйти введите exit: ");

    просто делает немного яснее происходящее.

    Я же тебе писал, что у тебя не 2 ввода значений, как ты похоже думаешь, а 3. Третий раз ты получаешь от пользователя exit или любое другое значение, которое интерпретируется как продолжение ввода.
    Написано