Задать вопрос
Ответы пользователя по тегу C++
  • Почему раскладка языка в Windows не переключаются?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Используйте эмуляцию хоткея для переключения языка - например через вызов системного API SendInput. Это самый простой и надежный вариант.
    Ответ написан
    Комментировать
  • Как сделать удаленный доступ для к программе под windows для нескольких пользователей (аля RDP)?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Разработка такого ПО с нуля будет в сотни раз дороже лицензии. Да даже разработка простого приложения с использованием готового протокола RDP с уже готовой к использованию библиотекой MsTsc под виндой будет многократно дороже лицензии, а пытаться разрабатывать что-то на основе FreeRDP может выйти еще сложнее и дороже, чем с нуля - ибо там с документацией вообще все плохо. Это я говорю как разработчик такого приложения. Проще всего использовать готовые решения типа терминальный сервер и купить лицензию. Если нужное вам приложение есть под линуксом - то лучше его и использовать.
    Ответ написан
    3 комментария
  • Хотел написать движок на OpenGL, а примитивная ходьба работает криво, как исправить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Дебажить, конечно же. Взять бумажку и ручку/планшет и стилус или что там есть под рукой, расписать по шагам весь алгоритм, сделать вывод результатов каждого шага алгоритма в коде и сравнить как должно быть и что получилось.
    Ответ написан
    2 комментария
  • Как убрать ненужное пространство между кнопками c++ Windows forms CLI?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Смотрите свойства Margin и Padding у самих контролов и их контейнеров.
    почему писать GUI на C++/CLI не самая лучшая идея?

    Потому что на шарпе c WPF/MAUI проще.
    Ответ написан
    Комментировать
  • Кросскомпиляция c++ из MacOS для Windows (QT)?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Проще все же поставить виртуалку и там собирать: UTM умеет в виртуализацию х86 под м1, но за счет примерно 90% производительности. Это реально проще, чем ковырять кросскомпиляцию. Уж лучше подождать.
    Ответ написан
  • Как практиковаться в программировании?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Решать реальные задачи. Написание кода - это всего лишь небольшая часть в разработке ПО. Язык программирования - это инструмент. Рекомендую присмотреться к готовым схемам изучения ЯП. Например: https://roadmap.sh/ А так же пробовать не только решать разные задачи, но и разные ЯП и разными способами. Так же имеет смысл присмотреться к играм с мощными редакторами и системами модификации: создать свой квест/карту/игру очень даже неплохо мотивирует делать что-то большее. Ну и, конечно же, учиться, учиться и учиться. Причем еще и учиться учиться. И обязательно учить английский и математику. IT меняется и развивается очень быстро и без навыков и способностей к самостоятельному обучению тут очень быстро можно оказаться за бортом и уйти на дно как топор.
    Ответ написан
    Комментировать
  • Графическая библиотека для C++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Для этого нужна не библиотека, а системное API: GetPixel в винде и XGetPixel в линуксе (детальнее смотрите маны по иксам), аналогично в маке должно быть - там уж сами найдете.
    Ответ написан
  • Как получать и обрабатывать координаты мыши в окне OpenGL?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Пробовал через GetCursorPos, однако он берёт за основу координаты всего рабочего стола, а не окна OpenGL, так же не совсем понимаю каким образом преобразовывать координаты от GetCursorPos в координаты OpenGL.

    Конвертацией системы координат - для этого потребуется еще положение и размер окна.
    Ответ написан
  • Как в WinForms прикрепить код отдельной программы, написанной на С++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Например, что бы какая то программа или код на С++ вызывались по щелчку кнопки на форме WinForms.

    • Просто вызвать эту программу используя соответствующие API.
    • Конвертировать эту программу в динамическую библиотеку и вызывать функции этой библиотеки в своем приложения используя системные API.

    И как это все собрать в одно рабочее приложение.

    Enigma VirtualBox

    Т.е. все заголовки, библиотеки WinForms и заголовки и библиотеки С++?

    А заголовки C++ с нужными данными переписать на ЯП вашего приложения и инклюдить стандартными методами.
    Стандартные библо
    Ответ написан
    Комментировать
  • Почему в файл выводятся непонятные символы?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Надо писать в файл не саму структур, а поля структуры по очереди. Возможно еще проблема с кодировкой.
    Ответ написан
  • Хочу стать программистом. Какой факультет выбрать?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вам следует в первую очередь выбрать факультеты "гугл", "самообразование", "саморазвитие", "История IT и IT новости", "Фриланс", а на данных факультетах следует посещать примерно следующие предметы:
    • Английский язык — чтение сложной технической документации, письменный, разговорный, а лучше найти хорошего учителя (в сети полно ресурсов такой тематики)
    • История IT отрасли
    • История программирования и разработки ПО
    • Внутреннее устройство ПК и принципы работы его узлов (процессора, видеокарты, звуковой карты и прочее)
    • Внутреннее устройство ОС и как и зачем они нужны и вообще появились
    • Основы программирования и разработки ПО - что, откуда, куда, как и почему
    • Популярные книги по С/С++ / питону
    • Ознакомиться с основами фриланса и зарегистрироваться на популярных международных фриланс биржах
    • Найти вакансию джуниора и хорошо бы ментора
    • Решение реальных задач по разработке ПО
    • Создать себе в сети портфолио и зарегистрироваться на популярных IT ресурсах типа SO, MSDN, LOR и социалках типа LinkedIN
    • Искать проекты на биржах

    А вот ВУЗы сегодня в массе своей неспособны подготовить программистов.
    Ответ написан
    Комментировать
  • Нужно написать аналог regedit в Windows для курсовой на c++ или c# с графическим интерфейсом. С чего начать? Каие библиотеки и технологии посоветуете?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Совсем не обязательно икать прямые WinAPI вызовы для работы с реестром (так-то конечно лучше все таки изучить и понимать механику их работы — облегчает работу с реестром). В C# есть уже готовые обертки для работы с реестром:
    using Microsoft.Win32;
    И далее работаем с реестром.
    https://docs.microsoft.com/en-us/dotnet/csharp/pro...

    В данном случае все крайне просто: кидаете на форму в левой части контрол тип "дерево", а в правую часть контрол типа "таблица/список". И далее просто используете готовые обертки для заполнения контролов данными. Можно использовать как WinForms, так и WPF.
    Ответ написан
    2 комментария
  • Как передавать по сети данные, используя TCP?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Похожи ли Яп-ы PHP и C / C++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Все ЯП похожи в том или ином смысле. Спокойно учите то, что вам интересно и приносит новые знания. В ВУЗе скорее всего большую часть времени вы будете тратить впустую и реальных знаний о решении реальных задач вам там вряд ли дадут. А те знания, что дадут — устареют раньше, чем вы закончите учебу и будут неактуальны. Если программирование и разработка ПО вам интересны — фрилансите спокойно, решайте реальные задачи прежде всего, набирайте опыт и проекты в резюме, а ВУЗе просто отмечайтесь для галочки. Знания разных ЯП только помогают.
    Ответ написан
    2 комментария
  • Кто может объяснить как работает этот код на c++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    А что именно тут непонятного-то? Написано же, что выполнять цикл, пока s меньше или равно 257.
    Ответ написан
  • Как найти адрес в памяти процесса?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Смотрите документацию по следующим WinAPI вызовам: OpenProcess, ReadProcessMemory, WriteProcessMemory, CloseHandle. Кроме того, еще есть такая штука, как ограничения на чтение и запись в память других процессов и возможно надо будет устанавливать эти дополнительные флаги или запрашивать права.
    Ответ написан
    Комментировать
  • Как найти проект для знаний?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Очень просто: взять проект с новой для себя областью знаний. Либо найти какой-то постоянный контракт в команде опытных людей и учиться. Еще можно поставить себе какую-то определенную задачу и пойти выполнять её. Например: поднять сервер и БД на AWS с балансировщиком, роут 53, настроить деплой проекта на базе рельс в докере, с конфигами в ансибле и тераформе.
    Ответ написан
    Комментировать
  • Неправильно отображается RGBA?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    filereader->FileReader__("J:\\фукрпкявамчс\\content\\Загрузки\\table.bmp","r");
      filereader->ReadFile(960*495*4,NewData);

    Формат BMP полностью документирован и описан — готовых библиотек полно. Так что либо используйте готовый код для чтения файла либо реализуйте самостоятельно. Данный формат поддерживает палитры, а цвет пикселя может быть от одного до 64 бит (т.е. до восьми байт). В данном случае явно происходит некорректная интерпретация данных о цвете. Кроме того, он еще и заголовок содержит, в котором полностью описана вся информация об изображении и формат пикселя, и которая в данном коде полностью игнорируется. А еще там строки выравниваются по степени четверки - так что в любом случае все пиксели читаются в два цикла (второй - вложенный).
    Ответ написан
    Комментировать
  • В чем суть WinApi?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Вы не так понимаете значение "Win API", давайте расшифрую: "Windows Application Programming Interface" или "Интерфейс программирования приложений ОС семейства Windows". Т.е., во-первых - через этот интерфейс осуществляется взаимодействие любых программ в ОС с самой системой. А что такое ОС? Это прослойка между железом и прикладными программами, которая занимается управлением ресурсами (процессор, память, и т.п.). Давайте уберем Win API - что останется? А ничего вообще не останется - даже ОС (ну может там загрузчик ОС останется или что-то еще совсем низкоуровневое). Тогда, как же прикладная программа может быть запущена? Ну, так же как и все ОС: загрузиться с загрузчика, инициализировать процессор, видеокарту, аудиокарту, клавиатуру, мышку, какие-то дополнительные железки - чтобы все это использовать. Только вот чтобы все это железо использовать - к нему часто нужные драйвера. А некоторые из них проприетарные (т.е. исходников нет). И это только начало. А процессоры-то у нас многоядерные - а программа одна, значит надо реализовывать поддержку нескольких потоков, управление памятью. А если несколько программ хочется запустить? Тогда, надо как-то по очереди давать пользоваться процессором - для этого надо писать управление потоками и памятью, при этом для обеих программ должен быть реализован одинаковый интерфейс. Что-то вроде API. Хмм, кажется где-то было что-то похожее? Ну да ладно. Кстати, если подняться чуть выше в категории - можно обнаружить, что кроме Win API, существует еще Linux API, BSD API - да и вообще в любой ОС есть свой API. И они отличаются - поэтому нельзя напрямую запустить приложение от одной ОС в другой ОС, т.к. приложение банально не будет знать "языка" этой ОС и как дать понять ОС что от неё хочет приложение. Так что любая ОС - это просто менеджер ресурсов ЭВМ, можно сказать "фреймворк", а API - это "язык", на котором приложение может общаться с этим фреймворком. Всякие стандартные и не стандартные библиотеки и прочее - это еще один уровень абстрагирования от "низкуровневого" ОС API. Над библиотеками делается какой-то еще один уровень абстрагирования и его опять называют фреймворком, а там и еще сверху часто бывает что-то. Так что получается, что фреймворк сидит на фреймворке и фреймворком погоняет. Ну и при этом львиная часть ресурсов ПК уходит на все эти абстрактные слои между фреймворками. Поэтому даже в 2017 году, после 27 лет развития браузеры по-прежнему тормозят.
    Ответ написан
    Комментировать