• Почему при использовании переменной в методе, выдает ошибку Linker Tools Error LNK2001?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему при использовании переменной в методе, выдает ошибку
    class Test
    {
      static std::string question;


    Потому что статическое поле класса нужно определить, его упоминание в определении класса -- это не определение. Определить его можно например так в .cpp вне всех функций:
    std::string Test::question;
    Ответ написан
    Комментировать
  • Какая максимальная скорость LAN портов у роутера при одновременном подключении к ним устройств?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Если все порты на одном свитч-чипе, то у него обычно пропускная способность = скорость порта * кол-во портов * 2. И между двумя любыми портами будет гигабит.
    Если свитч-чипы разные (как у 10 портовых микротиков), то нужно смотреть по схеме какая линия между ними.
    WAN - отдельная история, там большую задержку и соответственно ограничение скорости вносят программые алгоритмы маршрутизации и фильтрации, но обычно с выключенной маршрутизацией скорость LAN-WAN приближается к максимальной скорости порта.
    Ответ написан
    Комментировать
  • Какая максимальная скорость LAN портов у роутера при одновременном подключении к ним устройств?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Какая будет скорость на каждом порту при одновременном тесте скорости на каждом устройстве?

    Типичное "у меня в подполе происходит стук".

    Да фиг знает... смотря как именно тестировать.

    Если перевести роутер в режим моста, поотключать все внутренние обработки трафика в нём, и тестировать парно WAN <-> LAN1 и LAN2 <-> LAN3, то скорее всего все 4 тестера покажут скорость, близкую к гигабиту. Если тестировать (LAN1, LAN2, LAN3) <-> WAN, опять же всё отключив, то на WAN-порте тестер покажет что-то порядка гигабита, а тестеры на LAN-портах втрое меньше (причём что а) поровну б) стабильно - не гарантировано). Если каждый тестер будет гонять трафик на все остальные три тестера/порта - то в среднем будет по 300 мбит на парный линк и порядка гигабит суммарно на узел.

    А если роутер оставить именно в режиме роутера, то очень трудно предсказать, что получится, насколько производительна программная обработка трафика. И эта производительность критично зависит от задействованных в роутере программных сервисов...
    Ответ написан
    Комментировать
  • Генерировать числа с заданной вероятностью?

    Griboks
    @Griboks
    В каждом языке программирования присутствует специальная функция для генерирования случайных чисел от 0 до 1. Соответственно, вы представляете ваши числа в виде интервалов, а случайное число в виде относительной координаты. В какой интервал укажет координата, то число и является искомым.

    Пример
    Дана таблица:
    1 - 0.9
    2 - 0.8
    3 - 0.7

    Тогда интервалы будут следующие: 0-0.9, 0.9-1.7, 1.7-2.4.
    Допустим, сгенерировано случайно число 0.65 - примем его за относительные координаты.
    Переводим координаты в абсолютные 0.65*2.4=1.56. Следовательно, случайно число попадает в интервал 0.9-1.7, значит искомое число - 2.
    Ответ написан
  • Тип с точностью до 4 знаков C++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Есть. Называется int. Вам надо хранить количество десятитысячных в числе. Иными словами, вы вместо x храните в int x*10000. При выводе делите на 10000 (и установите выводить 4 знака).

    Такие числа можно просто складывать и вычитать. При умножении надо будет результат поделить нацело на 10000 (или округлить к ближайшему, делящемуся на 10000 и потом отбросить 4 нуля). При делении - наоборот. Надо сначала домножить числитель на 10000, а потом поделить нацело на знаменатель (возможно стоит подумать об округлении к ближайшему целому).

    Upd: И вообще, раз уж разговор о C++, то можно реализовать свой класс. Там можно даже отдельно хранить целую часть и 4 знака после запятой. Если вам встроенной точности int/int64_t не хватает. Все математические операции можно переопределить и работать, как со встроенным типом. Вообще, по-умному, это называется fixed point numbers.
    Ответ написан
    Комментировать
  • Как решить проблему в коде не запускается код, основные операции над бинарным деревом?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это не бинарное дерево. Ерунда какая-то. Обычно когда объявляют такое дерево -то считают что это
    бинарное дерево поиска. И в нем должны быть функции для расстановки узлов относительно значения Data.

    Здесь что? Непонятно. Рандомным образом раскидали? Зачем?
    Ответ написан
    Комментировать
  • Сколько ядер процессора хватит для программирования?

    vabka
    @vabka
    Токсичный шарпист
    Для учёбы точно хватит
    Ответ написан
    Комментировать
  • Что делать с кросс-компиляцией на gcc?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    apt-get install gcc-aarch64-linux-gnu

    после этой команды команда dpkg -L gcc-aarch64-linux-gnu покажет тебе содержимое пакета, откуда ты узнаешь, что имя компилятора -- aarch64-linux-gnu-gcc
    Ответ написан
    1 комментарий
  • -x^2 - положительно или отрицательно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если в степень возводится значение с минусом, то в математике принято писать его в скобках (-x)2.
    Ответ написан
    1 комментарий
  • Приделывать Git на сайт это хорошо?

    vabka
    @vabka
    Токсичный шарпист
    git - это система контроля версий.
    Это не "локальное хранилище" и не нечто, что можно "приделать" сбоку.

    Предположу, что под словом "приделать" вы имеете в виду использование git для доставки обновлений на продуктивный сервер.
    Моё мнение - так делать не стоит.
    Серверу совершенно не нужно хранить у себя всю историю версий.

    А вот локально да - лучше вести разработку в git.
    Ещё по хорошему следует хранить копию репозитория на каком-нибудь ещё сервере, например в собственном экземпляре gitlab и синхронизировать её с локальной при помощи git pull/push.

    Ну и помни, что не надо все файлы в git запихивать. В git должны храниться только исходные файлы. Всякие картинки - в git-lfs.
    Пароли - в каком-то другом хранилище.
    Артефакты, которые создаёт компилятор или препроцессор - в .gitignore
    Ответ написан
    1 комментарий
  • С чем связяна эта ошибка (SFML)?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Скачал библиотеку, подключил ее в параметрах проекта

    похоже, что не до конца подключил, потому что ошибка в том, что не найдены символы из этой библиотеки во время линковки.
    Ответ написан
    2 комментария
  • Почему не работает функция в с++ пытаюсь вызвать, а она не вызывается?

    @12rbah
    return 0;
        menu_for(v);
    Казалось бы, что могло бы пойти не так, попробуйте поменять местами return и menu_for
    Ответ написан
    Комментировать
  • Как посмотреть нагруженность сети интернет?

    @Drno
    Диспетчер зада > производительность > сеть(ethernet)
    Ответ написан
    Комментировать
  • Почему при попытке прописать 10-ю сеть на ubuntu 20 она вообще не пингуется?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    10.10.213.2 не входит в сеть 10.10.10.101/255.255.255.0.
    Если это действительно одна сеть, то маска должна быть 255.255.0.0
    Если это разные сети, то должна быть настроена маршрутизация на шлюзе.
    Ответ написан
    Комментировать
  • Почему не меняется значение переменной после выражения (a = b) в decltype?

    Adamos
    @Adamos
    decltype - это конструкция для компилятора. Она не выполняется в рантайме вообще.
    Ответ написан
    Комментировать
  • По какой причине происходит дубляж реализации?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    webderiverxx все файлы .h, видимо реализация написана на .h файлах

    В .h файлах можно написать и так, что вот этого всего не будет. Если ты нам покажешь этот webdriverxx.h мы наверно сможем подсказать, что там нужно изменить для этого.

    есть лок в виде проверки препроцессора, почему неколько реализаций возникает, не совсем понятно

    Ты если такое говоришь, то, видимо, не вполне понимаешь, для чего используется защита макросом препроцессора.
    Ответ написан
  • Почему именно при таком обращении к матрице мы получаем все ее элементы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты работаешь скорее всего не с матрицей а с зубчатым массивом (jagged array). Или его еще называют
    массив массивов. Кстати строки этого массива вовсе не обязаны быть равными. Тоесть не квадрат.
    Их можно делать разного размера. И если смотреть на них сбоку - то получается картинка "зубов".

    *(*(matrix + i) + j)
    в данном выражении идет 2 разыменования. Первый - прыжок на зуб. И второе - прыжок к нужной ячейке
    массива зуба.

    В альтернативном варианте - можно создать просто массив из 100 элементов и доступ получать по формуле

    matrix = new int[100];
    cout << matrix[j + i * 10]


    И этот подход более рациональный с точки зрения менеджера памяти. Мы выделяем 1 кусок а не 10.
    Что вобщем экономит память т.к. аллокатор может резервировать больше памяти чем мы запрашиваем.
    И с точки зрения когерентности по памяти это лучше т.к. мы точно знаем что соседние строки матрицы
    лежат физически рядом а не разбросаны черт знает где.
    Ответ написан
    3 комментария
  • Желтизна в windows 10, как решить?

    загрузитесь с LiveCD/DVD/flash USB и потестируйте длительную работу в Windows и других ОС
    Ответ написан
    Комментировать
  • Как создать динамическую библиотеку, которая зависит от другой библиотеки?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    гугля, находил предложения с LD_LIBRARY_PATH=... . Но разве флаг -L при компиляции не служит той же самой цели?

    нет, не служит. -L говорит о том, где искать любые библиотеки во время линковки приложения. LD_LIBRARY_PATH говорит о том, где искать динамические библиотеки во время выполнения. Информация из -L со времени линковки нигде не сохраняется. Можно зашить в слинкованный бинарник пути к библиотекам, но это делается другими опциями (см. опцию линкера -rpath). Во время выполнения динамические библиотеки могут быть где угодно, не обязательно там, где они были во время линковки.

    Как создать динамическую библиотеку, которая зависит от другой библиотеки?

    вопрос, кстати, неправильный. Ты создал такую библиотеку. Если ты посмотришь в вывод readelf -d libwindow.so | grep NEEDED то там должна быть ссылка на libSDL. Твоя проблема в том, что сама libwindow.so не найдена.
    Ответ написан
    3 комментария