Задать вопрос
Ответы пользователя по тегу C++
  • Похожи ли Яп-ы 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 лет развития браузеры по-прежнему тормозят.
    Ответ написан
    Комментировать
  • Есть адекватная альтернатива Visual Studio?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Где там перегруженность? Любые панели легко закрываюстя и кастомизируются. А зачем х64 версия? Юзаю в виртуалке - все летает отлично.
    Ответ написан
    Комментировать
  • Как средствами с++/с#/java обратиться к видеокарте, как это делает opengl?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Называется "OpenGL API".
    Ответ написан
    Комментировать
  • Какой стек технологий выбрать для приложения в трее под разные настольные ОС?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Если надо максимально автономное и есть знание или желание познать С++ - то QT, если это не слишком принципиально - то можно и C# + Mono, но тут сложность в том, что кроме самого приложения надо тащить и устанавливать рантайм библиотеки - а это еще мегабайт 30-50.
    Ответ написан
    2 комментария
  • Как перенести свои теоретические знания о языке на разработку приложений?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Теория-теории рознь, а на практике зачастую приходится вкручивать такое, что никакому теоретику даже в самом страшном кошмаре не приснится. Так что надо искать задачу по своим силам и в рамках своих знаний и решать её. Ибо при отсутствии опыта попытка сделать что-то большое скорее всего приведет к плачевным результатам, которые все равно потом надо будет переписывать полностью и с нуля. Так что самый лучший вариант - сначала научиться делать что-то небольшое, и не просто делать, а хорошо делать. Это даст какую-то базу опыта, опираясь на который уже можно будет решить какой проект посложнее взять. Кроме того, разработка ПО - это не только написание кода, а еще и проектирование архитектуры, модулей и подмодулей, библиотек, поиск решений, проверка решений, тестирование, выбор решений, менеджмент, исправление ошибок, общение с пользователями / клиентами / заказчиками, проектирование UI/UX и его тестирование, написание и оформление документации и тележка других мелочей. В реальности написание кода может составлять 15-30% от всего проекта (зависит от размера проекта и многих других факторов, конечно же). Зачастую ощутимый объем кода просто выкидывается - 10-20% может легко уходить в /dev/null. Теория в отрыве от практики - бесполезна и очень быстро забывается как бесполезный мусор.
    Ответ написан
    1 комментарий
  • Вопрос во выбору ВУЗа для будущего программиста

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Если твердо решили идти в программирование — то без самообучения тут никак вообще. Будьте готовы к тому, что придется заниматься саморазвитием и обучением очень много.
    Фриланс: например на позицию джуниора в команду или просто помощником опытного фрилансера. Основной плюс — обучение на реальных задачах, и возможность учиться у более опытных людей. Дополнительный плюс — возможность работать в любом месте, где есть электричество и интернет и в удобное для себя время. Минус — непредсказуемость/нестабильность доходов. Бывает приходится работать месяцами без выходных от заката до рассвета и все остальное время, а бывает затишье.
    Большинство ВУЗов программированию почти не учат по вполне всем известным причинам. А IT развивается с огромной скоростью — за год все меняется очень сильно. Классические ВУЗовские программы обучения устарели **цать лет назад, а за вермя обучения можно отстать от всего мира еще на несколько лет. Так что постоянное самообучение и «рука на пульсе/глаза на хабре» позволяют оставаться в курсе происходящего в мире.
    Ответ написан
    Комментировать
  • POST, PUT… запросы в Awesomium?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Я там особо не копался — пока только поверхностно поглядел, но судя по документации:
    GetUploadElement (unsigned int idx)=0
     	Get a certain upload element (returned instance is owned by this class) 
    AppendUploadFilePath (const WebString &path)=0
     	Append a file for POST data (adds a new UploadElement) 
    AppendUploadBytes (const char *bytes, unsigned int num_bytes)=0
     	Append a string of bytes for POST data (adds a new UploadElement)

    По идее, что-то из этого должно отдать данные. Не?
    Ответ написан