Задать вопрос
  • Как назначить для одного сервера шлюз из другой подсети которым является ПК?

    @res2001
    Не нужно лезть в маршрутизацию, чтоб настроить почту.
    На VPSе можно поднять промежуточный почтовый релей, а на вашем postfixe настроить отправку почты через него.
    Подробностей не скажу, но схема для почтовых серверов обычная.
  • Что не так в маршрутах? или VPN без src-nat?

    @res2001
    SRC-NAT в этой ситуации же не обязателен, верно?

    Все верно! Сто раз писал тут про это в обсуждениях вопросов по OpenVPN.
    И да, нужен обычный стандартный роутинг (форвардинг не нужен), а он у вас и так должен работать, т.к. маршруты везде есть.
    Проверьте правила фаерволов на всех хостах, возможно надо явно разрешить трафик из одной подсети в другую и наоборот.
    Что бы понять на какой стороне затык, хорошо бы использовать что-то типа tcpdump на микротике и пинговать из одной сети другую.
  • Как повысить скорость smb multichannel на Hyper-v 2019 \ Server core 2019?

    @res2001
    Тут похоже не в стеке дело. Нужно скачивать один файл в несколько потоков, так как это делают P2P сети. Т.е. для нескольких потоков используется несколько сокетов, каждый сокет уже может использовать свой адаптер для передачи данных. SMB этого явно не умеет делать.
    Впрочем, думаю, заморачиваться не стоит. У вас же явно не один пользователь будет использовать шары на этом сервере. Так что несколько пользователей успешно поделят между собой всю пропускную способность. Каждый конкретный пользователь для скачивания каждого конкретного файла будет ограничен скорость одного сетевого адаптера сервера.
  • Почему в конструкторах non-const & может привязываться к rvalue?

    @res2001
    Qubc, Код анализирует не только компилятор во время компиляции, но и сама IDE по ходу дела пытается это делать фоном. При этом компилятор может не выдать ошибку, а IDE выдать.
    Не знаю, как это реализовано в MSVC, т.к. мало с ней сталкиваюсь.
    В QtCreator это более прозрачно (видимо) и есть настройки фоновой проверки. Тут QtCreator фоном запускает компилятор и время от времени скармливает ему куски кода, которые вы пишете прямо сейчас. Ошибки сразу же появляются в соответствующем окне.
  • Почему в конструкторах non-const & может привязываться к rvalue?

    @res2001
    Добавьте к конструктору спецификатор excplicit или определите конструктор перемещения. А лучше и то и другое.
    Вообще рекомендуют использовать в конструкторах excplicit всегда.
  • Усиленно удалить файл в windows, возможно ли с помощью пары функций?

    @res2001
    Для информации:
    В линуксе unlink работает, конечно, на открытых файлах. Но файл будет реально удален, только после того как все процессы его открывшие освободят файл. Т.е. вы сделаете файлу unlink и будете считать, что все нормально, но процесс ранее открывший файл будет продолжать прекрасно с ним работать. Смотрите man unlink.
  • Добавить задачу в авто запуск?

    @res2001
    Илья, Не верно. Чтоб программа автозапустилась с администраторскими правами (а точнее от пользователя SYSTEM), вы должны добавить ключ в ветку HKLM реестра. А доступ к этой ветке требует администраторских прав.
    В ветку реестра пользователя (HKCU) вы можете добавить ключ с правами этого пользователя, но тогда и программа запустится с правами этого пользователя, после того когда он войдет в систему.
  • Как снизить число обращений к дисковой подсистеме?

    @res2001
    Дополнительная нагрузка на диск может быть связана с недостатком ОЗУ - в этом случае активно используется файл подкачки. В вашем случае недостаток ОЗУ может быть как на хосте, так и в ВМ.
  • Какой наиболее простой способ прибить процесс на удаленном win srv 2016?

    @res2001
    tasklist - выводит список процессо, taskkill убивает. Обе умеют работать удаленно.
    Можно через wmic, он то же умеет удаленно и функционал есть. Гуглите.
    Можно использовать psexec для удаленного выполнения чего-нибудь (или тот же wmic).
    Ну и powershell то же умеет.
  • Как в C выделить динамическую память для текстового файла?

    @res2001
    Чайники обычно делают так:

    Никто не мешает указать спецификатор width в scanf для вводимой строки. И надо предусмотреть в массиве место под завершающий нулевой байт.
    кто поумнее делают так

    Пользователь с клавиатуры может вводить строку какой угодно длинны, ему до фанаря размер массива под вводимую строку, который предусмотрен в программе. Это вызовет выход за пределы массива и тот же SYGSEGV с вылетом программы. Так что это не многим лучше первого варианта. Выход все тот же - спецификатор width.
    Оба совета годные, но они не достаточные - в любом случае надо при вводе контролировать размер вводимых данных.
    https://en.cppreference.com/w/c/io/fscanf
  • Почему возникает ошибка C1014 "Too many include files: depth 1024"?

    @res2001
    Quark,
    На счёт "extern C"

    Обратите внимание - по ссылке extern C используется только с обычными функциями (не с типами, не с данными и не с членами классов).
    extern C - заставляет компилятор не использовать плюсовый name mangling для указанных объектов. Вместо него используется сишный манглинг. Это вносит определенные ограничения на использование возможностей С++, например в этом случае не возможна перегрузка функций (т.к. она реализована за счет плюсового name mangling).
    Т.к. в Си нет классов, а Си структуры - это совсем не С++ структуры, то классы и структуры С++ вообще нет смысла экспортировать, если планируется использование библиотеки в программах на Си. Экспортируйте только стандартные типы.
    Почему важен сишный name mangling - потому что его поддерживает не только Си, но и куча других языков программирования, которые способны использовать динамические библиотеки. А плюсовый mangling используют только плюсы, на сколько я знаю.

    Но вы же пишете библиотеки для себя. И, видимо, будете их использовать только в С++ программах. В этом случае можно вообще не использовать extern C. И тут у вас нет ограничений на экспорт структур и классов.

    https://en.cppreference.com/w/cpp/language/languag...
  • Есть ли более быстрый генератор случайных чисел чем стандартный rand()?

    @res2001
    Spooky 2020, Может в шарпе просто берут значение таймера в тиках и берут от него остаток от деления на некоторое число. Вполне себе генератор. Довольно быстрый. Теоретически на многоядерных системах может выдать одинаковый результат, если одновременно выполнить генерацию на разных ядрах.

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

    Есть методы проверки результатов ГПСЧ на "случайность". Случайные числа могут быть не достаточно случайны для конкретного применения. Поэтому в стандартной библиотеке выбирают ГПСЧ, который и достаточно быстрый и дает достаточно не плохие результаты случайности для среднестатистического использования.
  • Как, сидя за натом провайдера, запрашиваемая инфа из инета знает точную сеть клиента?

    @res2001
    Maga Izdaga, Нет. Пул для клиентов с белыми IP адресами, можно такой заказать у прова за отдельные деньги.
    Раз вы выходите в инет через NAT провайдера, то пров вам выдает адрес из диапазона серых адресов (можете нагуглить эти диапазоны). С серым адресом нельзя выходить в интеренет, только через NAT.

    С НАТом все несколько проще - NAT находится где-то у провайдера и внешний адрес у него один, через него то вы и выходите в инет.
    Другое дело, что серверов с NATом у провайдера может быть много. Но, видимо, для вас (вашего дома, улицы, района) у провайдера выделен конкретный NAT с фиксированным адресом. Провайдер может как-то чередовать NAT сервера в зависимости от нагрузки или расположения звезд, так что адрес NATа так же может меняться. Похоже ваш оператор такое не практикует.
  • Почему возникает ошибка C1014 "Too many include files: depth 1024"?

    @res2001
    Quark, Я не в курсе архитектуры вашей библиотеки. Из приведенных исходников трудно сделать каких-то выводов.

    Когда вы создаете библиотеку, то у вас есть некоторые экспортируемые типы, данные и функции (методы), которые должны быть видны из вне (пользователям библиотеки). А так же есть другие типы, данные и функции, которые являются внутренними для библиотеки и их не надо показывать на ружу.
    В связи с этим у вас должен быть заголовочный файл (или несколько файлов) для внешних пользователей (для программ, которые будут использовать библиотеку) и другие заголовочные файлы для внутреннего использования (они нужны только для сборки самой библиотеки).
    Вы сами, как разработчик библиотеки, определяете, что надо экспортировать, а что не надо.
    Во внешней программе, использующей библиотеку нужно подключать только файлы заголовков для экспорта, внутренние заголовки вообще не нужны внешней программе и они должны/могут быть не доступны во время сборки внешней программы.
    Если библиотека не большая, то в принципе, может не быть внутренних типов и данных, тогда нет смысла во внутренних заголовочных файлах.

    Еще несколько замечаний:
    Использовать etxern C не логично для классов и структур С++, т.к. в Си нет классов и структуры там отличаются от структур в С++. Если вы хотите, что бы ваша библиотека могла использоваться в программах на Си, то нужно поступать несколько по другому. А плюсовые программы смогут использовать вашу библиотеку и без extern C.
    Не зачем в классе/структуре для каждого метода писать модификатор доступа (public), это же не Java.
  • Почему возникает ошибка C1014 "Too many include files: depth 1024"?

    @res2001
    Quark, Кто вам мешает оставить в заголовке только объявления.
    А все определения (или только те, что считаете нужным) оставить в cpp? Вообще стандартная практика так-то.

    PS: В прошлом посте ошибся с определениями, конечно. Исправился.
  • Почему возникает ошибка C1014 "Too many include files: depth 1024"?

    @res2001
    Quark, Вынесите объявление класса в заголовок, он для этого и предназначен.
  • Как запустить cmd внутри bat для выполнения команд?

    @res2001
    shell_guy,
    не срабатывают команды внутри консоли

    Какие команды? Какие ошибки выдаются?
  • Где найти хороший гайд по Clipper?

    @res2001
    lukepker, Я в шоке :-)
    Можете начать отсюда: https://softclipper.net/soft-skachat/clipper-5-2e-...
    Помнится в середине 90х как раз закончил работу на клиппере на этой версии. С тех пор не приходилось его использовать. Но впечатления остались самые положительные.