• Почему в конструкторах 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х как раз закончил работу на клиппере на этой версии. С тех пор не приходилось его использовать. Но впечатления остались самые положительные.
  • Как создать графическое приложение для Windows?

    @res2001
    Вы попали на самый неудачный вариант для создания графического приложения - с использованием чистого WinAPI. Как уже было сказано - это мучительно и неудобно, а главное надо хорошо понимать что вы делаете, т.к. это нижний уровень GUI, а у вас с этим проблемы.

    На самом деле, вам стоит подумать - а нужно ли вам в принципе приложение с граф.интерфейсом, т.к. задача у вас примитивная, если не надо рисовать графики, то все остальное прекрасно делается в консольном приложении. А кроме того это гораздо проще.

    Если же сильно хочется GUI, рекомендую использовать Qt. И может быть даже не MSVS, а QtCreator.
  • Kkkkkkkkkkkkkkkkkk?

    @res2001
    Ruslan, да и провайдер далеко не факт что в принципе сможет это сделать, т.к. возможно маршрут изменен где-то на промежуточном этапе, который не зависит от твоего провайдера.
  • Kkkkkkkkkkkkkkkkkk?

    @res2001
    Ruslan, Попробуйте написать в поддержку облачного провайдера, пожаловаться на выросшие задержки
  • Kkkkkkkkkkkkkkkkkk?

    @res2001
    Ruslan, Сегодня так звезды сложились :)
    Если это где-то в середине маршрута, то вряд ли вы как-то сможете на это повлиять.
  • Kkkkkkkkkkkkkkkkkk?

    @res2001
    Может на вашем компе появился какой-нить процесс который: занимает канал связи, занимает процессорное время, отжирает память.
    Может нагрузка на облаке выросла или DDOSят его. Может в прошлый раз облако было ближе к вам, а сейчас переехало на край света.
    Причин увеличения задержки и помимо провайдера может быть очень много.