• ALTLINUX. Почему не пускает в систему?

    BorLaze
    @BorLaze
    Java developer
    После ввода пароля, выводит окно с неполной фразой, что мешает зайти в систему?

    Почему с неполной? Очень даже полной - система спрашивает тебя, на какой хост ты хочешь залогиниться.

    Вбей localhost или 127.0.0.1
    Ответ написан
    Комментировать
  • Что делает эта команда: gcc -I my_dts -E -nostdinc -undef -D__DTS__ -x assembler-with-cpp -o system.dts system-top.dts?

    @res2001
    Developer, ex-admin
    my_dts - подкаталог в текущем каталоге, там gcc будет искать дополнительные файлы, которые используются в директиве #include, компилируемого файла, т.к. my_dts это параметр ключа -I. Если такого каталога нет - gcc никак об этом не сообщит, но возможно будут какие-то ошибки при сборке.
    Опция -E заставляет прервать компиляцию после обработки препроцессором.
    Т.е. в данном случае просто используют препроцессор Си для файлов dts. DTS - device treee source. В DTS файлах описывают железо на котором загружается ОС. Они используются, например, в u-boot, в ядре линукс и т.п.
    Выходной файл задается опцией -o.
    Ответ написан
    Комментировать
  • Хочу стать C++ разработчиком но поможет ли Unity?

    @res2001
    Developer, ex-admin
    На реальной работе вам придется изучать и использовать много разных сторонних библиотек. Практически нигде не используется "голый" ЯП. Так что начните это делать прямо сейчас. Это будет хорошей практикой для вас.
    Ответ написан
    3 комментария
  • Как создать формулу курса собственной вымышленной валюты?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Самое простое - это просто позволить игрокам покупать и продавать валюту X по любой цене за валюту Y.
    Это и будет регулирование спросом и предложением.

    Если же нужно всё же фиксировать курс по игровым правилам, то ты можешь посчитать сумму валюты всех игроков. И просто соотнести их.

    Так если валюты X - 1000 единиц в игровом мире, а валюты Y - 2000 единиц,
    то курс будет: 1 ед. X = 2 ед. Y.

    То есть получается, что валюта X - более редкая, поэтому более дорогая. А дальше курс определяется соотношением. Вот и формула.

    Можно добавить всякие хитрости. Например, если ты вливаешь в игру 100000 X, то курс меняется не резко, а плавно, и не обязательно линейно.

    Также курс может быть подвержен мелким скачкам от каких-то игровых событий, объявлений.

    Конечно, польза самой валюты (что на неё можно купить) определяется субъективно игроками. Так что если какая-то валюта будет условно бесполезной, то курс по идее должен быть иным. Ну а что ты хотел при регулировании игровыми правилами? Если хочешь полностью рыночные отношения, то решение в первом абзаце - дать игрокам полную свободу самим выбирать курс.
    Ответ написан
    Комментировать
  • Как отправлять письма по email через c++?

    @rPman
    google: c++ lib email
    откроет мир готовых библиотек по работе с почтой, выбирай на любой вкус и твою среду и компилятор.

    c++ такой язык что программы на нем достаточно многословные получаются

    p.s. первый же результат из гугла https://github.com/karastojko/mailio

    message msg;
    msg.from(mail_address("mailio library", "mailio@gmail.com"));
    msg.add_recipient(mail_address("mailio library", "mailio@gmail.com"));
    msg.subject("smtps simple message");
    msg.content("Hello, World!");
    
    smtps conn("smtp.gmail.com", 587);
    conn.authenticate("mailio@gmail.com", "mailiopass", smtps::auth_method_t::START_TLS);
    conn.submit(msg);
    это многословно?
    Ответ написан
    Комментировать
  • Реализация memcmp без библиотек?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Берете исходник из libc, тащите себе в проект.
    Ответ написан
    Комментировать
  • Как правильно работать с интерфейсами?

    Adamos
    @Adamos
    У вас какая-то беда с пониманием указателей.
    В функцию нужно передавать указатель на IShape, если вы хотите работать с цепочкой наследования.
    А вот конструкции типа
    Simplex simplex = *(new Simplex());

    - просто лютая дичь.
    Ответ написан
    6 комментариев
  • Можно ли использовать SFML в проекте QT?

    Zifix
    @Zifix Куратор тега Qt
    Barbatum
    Я просто не особо понимаю, что в этом файле за язык вообще, сам я точно не разберусь.

    Заплатите тому, кто разберется.
    Ответ написан
    1 комментарий
  • Почему не запускается Ubuntu на VirtualBox?

    hekkaaa
    @hekkaaa
    C#/.NET Developer
    Привет.
    Для решения проблемы стоит начать с самого начала.

    1. Для корректной работы виртуализации через hyper-v нужно что бы была Os Win10 Pro. На версии Home данная функция не доступна.

    2. Нужно проверить включена ли виртуализация. Для этого достаточно открыть диспетчер задач и посмотреть в разделе ЦП.
    60dd428be5630963504187.png

    2.1. Если виртуализация отключена. Стоит зайти в BIOS вашего компьютера\ноутбука как рекомендовал SagePtr и включить ее.
    Обычно это раздел Secure Virtual Machine Mode но на каждой материнской плате и процессоре может быть по разному.

    3. Далее мы идем включать виртуализацию в самой OS Windows: Для этого нужно зайти Компоненты Windows для этого идем Панель управления -> Удаление программы(Программы и компоненты) -> Включиние и отключение компонентов Windows.
    60dd4403bc13e419089658.png

    Здесь нас интересует пункт Песочница Windows и Hyper-V (Мне было достаточно Hyper-V)
    60dd44618eae1740968337.png

    4. Следом идет рестарт машины.

    Если Вы собираетесь в дальнейшем использовать Docker из под OS Windows или ставите Ubunty через Docker ( да так можно о ждет меньше памяти, при условии если Вам нужна только консоль) то нужно включить разделы Платформы виртуальных машин и Подсистема Windows для Linux

    P.S: Есть ссылка на статью где разобрано включении чуть подробней по каждой ситуации под железо.
    comp-profi.com/kak-vkljuchit-virtualizaciju-v-bios...

    Надеюсь помог.
    Ответ написан
    3 комментария
  • Что означают просто { тут блок кода } в с++?

    @tugo
    Пользуются свойствами блока кода:
    1. создается новая область видимости
    2. объект, созданный внутри блока кода, удалится по завершению (т.е вызовется деструктор). В сочетании с RAII иногда удобно.

    // Когда не хочется придумывать новое имя другой переменной, которая точно такая же по смыслу.
    // И хочется дать ей константность - ее менять я не собираюсь, в смысле изменчивости переменной.
    const bool ok = foo1();
    if (!ok)
        return;
    {
        const bool ok = foo2();
        if (!ok)
            return;
    }


    // Когда надо защитить мьютексом изменение переменной, на как можно более короткое время.
    ...  некий код
    {
        const std::lock_guard<std::mutex> lock(_mutex);
        ++i;
        // _mutex is automatically released when lock goes out of scope
    }
    ... продолжаем код


    Или замерить время выполнения части кода. Создаем объект, в конструкторе которого захватываем текущее время, в деструкторе выводим затраченное время в лог.
    Ответ написан
    Комментировать
  • Что в коде нужно исправить что бы мне выводился на экран ip адрес?

    @none7
    #pragma comment (lib,"Ws2_32.lib")
    #include <winsock2.h>
    #include <WS2tcpip.h>
    #include <Windows.h>
    #include <iostream>
    #include <string>
    
    int main() {
        WSADATA wsa;
        std::string domain;
        int status;
        struct addrinfo hints = { 0 }, * res, * p;
        hints.ai_family = AF_UNSPEC;
        hints.ai_socktype = SOCK_STREAM;
    
        // ошибки выводятся в ANSI кодировке, а консоль по умолчанию в OEM
        SetConsoleCP(GetACP());
        SetConsoleOutputCP(GetACP());
    
        // На Windows необходима инициализация сетевой библиотеки
        if (status = WSAStartup(MAKEWORD(2, 2), &wsa) != 0) {
            std::cout << "Error: of getaddrinfo: " << get_error_message(status) << std::endl;
            // принято возвращать причину ошибки, а не только сам факт
            return status;
        }
        std::cout << ("Enter domain: ");
        // даже доменные имена могут иметь длину 256 символов
        // пользователь же может вообще ввести сколько ему угодно
        std::getline(std::cin, domain);
    
        if (status = getaddrinfo(domain.c_str(), "80", &hints, &res) != 0) {
            std::cout << "Error: of getaddrinfo: " << get_error_message(status) << std::endl;
            return status;
        };
    
        char ipstr[INET6_ADDRSTRLEN];
    
        for (p = res; p != NULL; p = p->ai_next) {
            /*const char* ipver;*/
            void* addr;
            if (p->ai_family == AF_INET) {
                struct sockaddr_in* ipv4 = (struct sockaddr_in*)p->ai_addr;
                addr = &(ipv4->sin_addr);
                /*ipver = "IPv4:";*/
            }
            else {
                struct sockaddr_in6* ipv6 = (struct sockaddr_in6*)p->ai_addr;
                addr = &(ipv6->sin6_addr);
                /*ipver = "IPv6:";*/
            }
            inet_ntop(p->ai_family, addr, ipstr, sizeof(ipstr));
            std::cout << "addres: " << ipstr << std::endl;
        };
        freeaddrinfo(res);
        system("pause");
        // деструктор сетевой библиотеки
        WSACleanup();
        return 0;
    }
    Ответ написан
    Комментировать
  • Почему в Python можно не описывать поля классов, а в C# обязательно?

    AVollane
    @AVollane
    Начинающий C# разработчик
    Здравствуйте. Это всё из-за того, что Python является языком с динамической типизацией, а C# - язык со строгой типизацией, что помогает избежать дополнительных расходов на память. За счёт этого Python более простой, но C# безопаснее и быстрее. В общем, в C# всё должно быть определено заранее, без каких-либо сюрпризов.
    Ответ написан
    8 комментариев
  • Как записать в файл строку и добавить к ней переменную типа интеджер?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • О чем может говорить такая ошибка в подключении через ADOConnection в проекте C++ buildera как исправить?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Судя по ошибке, компилятор не может найти какую-то библиотеку. Если это ADOConnection1 - встроенная, то лезьте в свойства проекта, если это что-то стороннее, то надо компилятору вручную в свойствах проекта же указать до нее пути.
    Ответ написан
    Комментировать
  • Python vs C. Какой из них быстрее?

    vabka
    @vabka
    Токсичный шарпист
    Хорошо написанный, и скомпилированный в -o3 код на си, как правило, будет быстрее и эффективнее аналогичного кода на питоне.
    В вашем случае неизвестно, почему вы могли получить такие результаты (даже не сказано, какие)

    А какой используется интерпретатор?
    А как был скомпилирован код на си?
    На одном и том же железе происходил запуск? Условия равны?
    Чем print на питоне отличается от сишного printf?
    Как вообще происходил замер? Было ли учтено время на запуск интерпретатора?
    Сколько было замеров? Может в случае с си был аномально медленный прогон?

    UPD: Короче хз, как вы там меряли, но вот мой вариант
    Для C я использовал Tiny C compiler, чтобы дать питону фору (будет учитываться время на компиляцию), да и оптимизации тут будут не такие дикие, как в GCC
    Чтобы не тестировать скорость вывода на экран - вывод я перенаправил в /dev/null (Хз что это за заклинание такое, но я его нашёл на SO)
    Запускал всё на WSL2 по одному разу, но в принципе результат очень даже стабилен.
    Вот результат:
    vabka@DESKTOP-7AFIA69:~/repos$ time (python3 test.py) 2>&1 1>/dev/null
    
    real    0m0.381s
    user    0m0.359s
    sys     0m0.016s
    vabka@DESKTOP-7AFIA69:~/repos$ time (tcc -run test.c) 2>&1 1>/dev/null
    
    real    0m0.081s
    user    0m0.047s
    sys     0m0.031s
    vabka@DESKTOP-7AFIA69:~/repos$ cat test.c
    #include <stdio.h>
    
    int main() {
      int i = 0;
      while(i < 1000000) {
        printf("%d\n", i);
        i++;
      }
      return 0;
    }
    vabka@DESKTOP-7AFIA69:~/repos$ cat test.py
    i = 0
    while i < 1000000:
      print(i)
      i += 1
    
    vabka@DESKTOP-7AFIA69:~/repos$

    Питон получился в 4 раза медленнее.

    Вот ещё результат без /dev/null:
    Для C:
    real    0m58.757s
    user    0m1.094s
    sys     0m11.078s


    Для питона:
    real    1m1.762s
    user    0m2.953s
    sys     0m13.594s


    Результат тоже хуже, но тут очень много времени тратится на вывод в консоль, по тому разница почти не видна.
    Ответ написан
    7 комментариев
  • Python vs C. Какой из них быстрее?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Попробуйте сделать вывод в файл. Запускайте с "> output.txt". У меня си работает в несколько раз быстрее (меньше секунды), питон - пару секунд.

    Вывод в консоль тормозит, потому что при компиляции через mingw идет как бы эмуляция линуксовой консоли, которая преобразуется в виндовую. Питон же наверняка работает нативно. Если вы интерпретатор питона из исходников на mingw соберете, то будет работать столько же. В этом примере вы разницу не намеряете, потому что тут вы в основном тестируете скорость вывода в консоль. Замените вывод на вычисления, или что-то другое полезное, и у си будет в разы быстрее питона.
    Ответ написан
  • Ошибка с условными операторами c, как решить?

    GavriKos
    @GavriKos
    Вы не разобрались с типами данных. int - число. Так что пользователь не введет ни васю ни петю. И сравнить число со строкой нельзя.
    Ответ написан
    Комментировать
  • Почему при нажатии кнопки удаления выходит ошибка типа: "ошибка синтаксиса в инструкции from"?

    @cicatrix
    было бы большой ошибкой думать
    Это не код, это огромная дыра в безопасности!
    Вот, почитайте на досуге.
    Database - 'это название таблицы такое? И в ней есть поле с кириллическим названием Код?
    А в текстовое поле число вводится? А если текст ввести, что будет?
    А если я туда введу 1=1; DROP TABLE Database; что будет?
    Ответ написан
    3 комментария
  • Как правильно получить ввод строки от пользователя в Cи?

    @res2001
    Developer, ex-admin
    В scanf_s при задании ввода строки, нужно указывать, кроме адреса буфера еще и реальный размер буфера в параметрах. Смотрите пример использования тут: https://en.cppreference.com/w/c/io/fscanf
    Обычный scanf считается не безопасным, и не без оснований, конечно. Поэтому его использование не рекомендуется, о чем в сообщении и пишут. Но это можно обойти, как именно, написано в том же сообщении. Правда задание _CRT_SECURE_NO_WARNINGS влияет не только на использование scanf, но и на пачку других функций.
    Определять #define _CRT_SECURE_NO_WARNINGS нужно до включения любых заголовков стандартной библиотеки. Что бы это определение на них подействовало. Проще всего это сделать в параметрах командной строки компилятора с помощью опции -D_CRT_SECURE_NO_WARNINGS
    Ответ написан
    1 комментарий
  • Где взять math.h?

    Написал #include math.h

    А не пробовали, как надо писать:#include "math.h"?
    Ответ написан
    9 комментариев