• Что лучше для работы с файлами QT или C#?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    На шарпе разработка в разы быстрее, я бы предложил гибридный вариант:
    Написать dll на с++ и подключить её в шарп
    Ответ написан
  • Как преобразовать слово в массив букв c++?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Так сама по себе строка уже является массивом, разве нет?
    Ответ написан
    Комментировать
  • Как правильно организовать структуру хранения и контроль версий проекта?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Если дело обстоит "куча либ (dll) и один проект" то я делаю у себя так:

    Для каждой либы отдельный репозиторий, такая либа знать не знает в каких проектах её будут использовать, она просто выдает по версиям свои dll, кто какую версию хочет - такую и берет

    Проекты которые используют эти либы хранят их у себя в папке libs

    Выходит:
    1) Вы создаете проект
    2) Берете нужные либы и копируете их dll прямо в папку проекта (я лично не люблю когда проект начинает доставать каждый раз либы неизвестно от куда, источники могут умереть или изменится)
    3) Готово

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

    В visual studio, кстати, есть так называемые "решения", которые собирают вместе проекты и компилируют их
    Ответ написан
    2 комментария
  • Как использовать код С++ совместно с С?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Ну, во первых static функции станут приватными и их не будет видно вне файла
    Во вторых extern "C" {} надо использовать на хедерах

    #ifndef HSLOCAL_INCLUDED
    #define HSLOCAL_INCLUDED
    
    #include <stdio.h>
    #include <string.h>
    #include <limits.h>
    #include <hs/hs.h>
    #include <errno.h>
    extern "C" {
     char *readInputData(const char *inputdata, unsigned int *length);
    }
    #endif //HSLOCAL_INCLUDED


    #include "hslocallib.h"
    
    char *readInputData(const char *inputdata, unsigned int *length) {
        FILE *file = fopen(inputdata, "rb");
        if (!file) {
            fprintf(stderr, "Невозможно прочитать файл \"%s\": %s\n", inputdata,
                    strerror(errno));
            return NULL;
        }
    
        if (fseek(file, 0, SEEK_END) != 0) {
            fprintf(stderr, "Невозможно определить конец файла \"%s\": %s\n", inputdata,
                    strerror(errno));
            fclose(file);
            return NULL;
        }
        long dataLen = ftell(file);
        if (dataLen < 0) {
            fprintf(stderr, "Невозможно вернуть положение указателя в файле  %s\n", strerror(errno));
            fclose(file);
            return NULL;
        }
        if (fseek(file, 0, SEEK_SET) != 0) {
            fprintf(stderr, "Невозможно найти начало файла \"%s\": %s\n", inputdata,
                    strerror(errno));
            fclose(file);
            return NULL;
        }
    
        char *inputData = malloc(dataLen);
        if (!inputData) {
            fprintf(stderr, "Невозможно выделить память для входных данных\n");
            fclose(file);
            return NULL;
        }
    
        char *ptrInputData = inputData;
        size_t bytesLeft = dataLen;
        while (bytesLeft) {
            size_t bytesRead = fread(ptrInputData, 1, bytesLeft, file);
            bytesLeft -= bytesRead;
            ptrInputData += bytesRead;
            if (ferror(file) != 0) {
                fprintf(stderr, "Ошибка чтения файла\n");
                free(inputData);
                fclose(file);
                return NULL;
            }
        }
        fclose(file);
    
        *length = (unsigned int)dataLen;
        return inputData;
    }
    Ответ написан
    1 комментарий
  • Как избавиться от наводки ТВЧ станка?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Если не запускать станки то все нормально?
    Перебои только во время запуска станков? Или во время их работы тоже?
    Какая проводка у вас? Сечения кабеля может не хватать
    Ответ написан
  • Чем защитить лидар от погоды?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Как уже указали выше в китае есть крышки для лидаров https://russian.alibaba.com/product-detail/customi...

    Обратите ещё внимание на температурный диапазон лидара в даташите
    Ответ написан
  • Как разработать SDK + серверную часть для видеосвязи?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    А это не оно? https://habr.com/ru/post/198632/
    Ответ написан
    Комментировать
  • Как конвертировать std::wstring в TCHAR*(или в FString напрямую)?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    FString str = FString(myWstring.c_str());
    Кажется так
    Ответ написан
    Комментировать
  • Как лучше реализовать графический интерфейс?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Если у вас нет ничего лютого-тяжелого-экзотического, то пишите все сразу на шарп

    Решение аля "логика на с++ и представление на с#" очень любит наш прогер, но он обычно пишет такие лютые математические алгоритмы от которых у меня голова кругом, в данном случае это оправдано. Просто скомпилировать плюсовый код как dll и линкануть в шарп

    Ах да, если так же не нужна кроспалтформеная программа, тогда точно пишите на шарпе, на нем разработка в разы быстрее

    Какую работу выполняет ваш код?
    Ответ написан
    2 комментария
  • Какая графическая библиотека поддерживает сложное рястягивание?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Эм, opencv? Мне кажется вообще под что угодно для работы с изображениями можно брать opencv

    https://docs.opencv.org/3.4/dd/d52/tutorial_js_geo...
    Пример Get Affine Transform Example
    Ответ написан
    Комментировать
  • Как правильно питать STM32 от аккумулятора 18650?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Если надо экономить энергию то ставь LDO на 3.7В, как только литий упадет меньше этого значения то стаб будет как бы "пропускать через себя" его

    Выходит твой диапазон из 3В - 4.2В превратится в 3В - 3.7В, от этого диапазона все будет работать, если нет ничего критичного к этому то все хорошо
    Ответ написан
    Комментировать
  • Как запустить Xamarin.Forms приложение на айфоне?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Мне пришлось купить мак мини и айфон, потому что иначе работает все через одно место
    А потом я понял что и писать под айфон на VS это ад, пришлось делать на самом маке
    Ответ написан
    Комментировать
  • Как лучше реализовать простой энергоэффективный компактный диктофон (устройство)?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    И так

    Во первых используйте STM32 с I2S. Почему? Да потому что недавно срок лицензии на MP3 кодек истек и вот он уже лежит в открытом доступе на сайте ST с кучей встроенных настроек, эквалайзеров и примеров реализации и записи на флешку (почти весь ваш готовый диктофон)

    Во вторых используйте цифровой микрофон. Почему? Да потому что за вас в нем уже сделан аналоговый фронтэнд (AFE), и поверьте, как бы просто не звучала задача "оцифровать АЦП", она не очень простая если вы хотите получить действительно хороший звук. А если и не хотите, почему бы не поставить? Ведь это ничего не стоит

    В третьих, берите производителей которые давно на рынках микрофонов, а не несколько лет (например, ST недавно начали их делать, но пока это средне). Вот, посмотрите на этих ребят, которые работают с 1946 (!) https://www.knowles.com/subdepartment/dpt-micropho...

    В четвертых, у STM32 есть встроенные возможности для работы с дисплеями, будет плюсом. И есть серии STM32L как раз для портативной электроники и энергосбережения

    В пятых, блютуз можно добавить, но в таком случае я советую вам резко сменить курс и поставить NRF52, как у него будет с MP3 кодеком я уже не знаю, возможно придется поломать голову, и на сколько помню у него нет встроенного интерфейса SD карты EMMC, только SPI (что по мне так костыль). Вариантом так же является использовать NRF52 чисто как блютуз и STM32, тогда у вас будет 2 МК, если не против удорожать ваше устройство на пару баксов тогда это вполне приемлемо (многие WIFi и BLE модули в ноутах являются такими же МК с предустановленной прошивкой, и часто в драйверах линукса можно найти код, который каждый раз при старте такого модуля зашивает одну и ту же прошивку. Хоть плеер это не ноутбук и тут такое немного не в тему, но я говорю это чтоб вы понимали, что такой подход вполне нормален)

    В шестых.. нуу.. эм, остались ещё какие-то вопросы?
    Ответ написан
  • Не работает окно отрисовки (activity_main.xml) в xamarin в visual studio. Как исправить?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Я тоже пытался сначала делать в VS приложения под андроид, но там почти все важное работает не так
    Пиком стало то, что вектора которые я копирую из фигмы от дизайнера отображаются так, будто в IE6 подсунули CSS3

    В итоге я просто скачал андроид студио и написал нужное мне приложение впервые видя java, оказалось легко, все работало, черт возьми. Скачал тему стилизации кода как на VS и остался доволен

    В общем, советую не использовать VS для андроид
    Ответ написан
    Комментировать
  • Не создается проект в UE4. Что делать?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Русских букв нигде нет? В пути, названиях?
    Ответ написан
  • Какую книгу подарить электронщику?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Если будете дарить книгу (что не рекомендую, они устаревают чертовски быстро), то на английском
    Посоветую что-то про программирование МК на С++ (если он уже не пишет на нем)

    Какой бюджет? Если готовы потратится то MFR-1110, это реально будет тем подарком, который вау
    Ответ написан
    Комментировать
  • Как инициализировать массив из char stringом?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    string str = "Test";
    const char *cstr = str.c_str();


    string str = "Test";
    char *cstr = new char[str.length() + 1];
    strcpy(cstr, str.c_str());
    Ответ написан
    Комментировать
  • Как использовать андроид девайс вместо микрофона?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Сматрфоны на борту как правило имеют USB OTG

    Просто подними USB в режиме девайса (USB DEVICE AUDIO) и передавай данные, думаю, должны быть примеры кода
    Ответ написан
    Комментировать
  • Зачем резистор на вход? Как выбираются значения сопротивлений и резисторов?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    Ищи инфу по темам:
    1) Нагрузочная ёмкость кварцевого резонатора
    2) Резистор-терминатор

    Там нет ничего сверхсложного, не бойся, просто мне лень сейчас печатать больше пары предложений х)
    Ответ написан
    1 комментарий
  • Какие библиотеки использовать для создания игр?

    veydlin
    @veydlin
    Мне никогда не жалко средств на свое любопытство
    unreal engine 4 использует C++
    А если писать игру без движка, то придется сначала написать движок, а это работа по сложней создания игры
    Ответ написан
    Комментировать