Задать вопрос
  • Как вернуть двумерный массив?

    @res2001
    niten_d0raku, Да, первый вариант не верен, согласен.
    Второй - вполне рабочий.

    Вместо варианта со структурой, предложенного pvvv, можно использовать std::array. Но т.к. std::array - одномерный массив, то придется делать его вложенным. Зато кастовать не надо. А на приемной стороне использовать auto, чтоб не морочиться с написанием сложносочиненного типа.
    По сути это тот же вариант со структурой, только структура стандартная.

    Если подойти по серьезному, то лучше собственную структуру нарастить всеми нужными методами для доступа к элементам по индексу и т.п. Тогда структура сойдет за полноценный кастомный класс массива.
    Написано
  • Ошибка в bat скрипте который изменяет протокол ip версии 4 (tcp/IPv4), как исправить?

    @res2001
    Проблема в получении локального ip адреса (он остается пустым) почему -то, в чем может быть проблема ?

    1. в for /f нужен пробел между замыкающей двойной кавычкой и одинарной.
    2. Для отладки фильтра - выдерните выражения фильтра из for /f и выполните его просто в командной строке, естественно с заменой переменных и т.п. Добейтесь, чтоб в командной строке у вас был правильный результат. Полученное выражение потом используйте в батнике.
    Также пишет Недопустимый параметр mask (192.168.100.123).

    3. Это видимо уже при вызове netsh. Тут точно так же выполните команды вручную из командной строки, добейтесь правильного выполнения. Затем используйте полученную команду в батнике.
    netsh имеет собственную командную строку, просто запустите netsh без аргументов, внутри можно выполнять все те команды, которые передаете в параметрах. Доступна подробная справка по командам и параметрам. Рекомендую.
    Точно не уверен, но возможно для изменения некоторых параметров через netsh потребуется повышение привилегий.
    Написано
  • Как написать динамическую библиотеку на C++ при помощи CMake в среде QTCreator, которую потом можно будет импортировать в проекты на Python?

    @res2001
    Александр Ананьев, В вопросе от Qt фигурирует только qtcreator, его можно отлично использовать в проектах и без самого Qt, к тому же с cmake он прекрасно управляется.
    Mar_4, Тема довольно обширная, вряд ли кто-то где-то вам расскажет все пошагово. Придется вникать и разбираться.
    Вариантов реализации может быть несколько с использованием разных технологий, доступных в питоне.
    Если реально много сложных структур надо прокидывать в питон, то, возможно, лучше использовать самый сложный (и наиболее универсальный) вариант: https://docs.python.org/3/extending/extending.html
    Возможно получится обойтись грамотным использованием numpy и т.п. модулей для питона, ускоряющих вычисления. Попробуйте это для начала. Хотя бы для того, что бы потом было с чем сравнивать производительность, возможно овчинка не будет стоить выделки.
    Написано
  • Как получить хендл без OpenProcess?

    @res2001
    На сколько я знаю хендл указывает на некую структуру в ядре привязанную к текущему процессу. Получить циферки хэндла из другого процесса может как-то и можно, но т.к. в твоем процессе в ядре этой структуры не будет, то и использовать ты его не сможешь.

    Кроме получения хэндла через CreateProcess, OpenProcess и GetCurrentProcess хэндлы могут наследоваться дочерними процессами, но для этого, надо включить наследование хэндла внутри оригинального процесса и запустить из него дочерний процесс.
    Написано
  • Почему ReadProcessMemory не может прочитать память и возвращает 299?

    @res2001
    DanilkaC, https://learn.microsoft.com/ru-ru/windows/win32/de...
    Судя по тому, что 299 ошибка -это ERROR_PARTIAL_COPY, то, возможно, выход за пределы выделенной памяти в процессе.
    module может у вас и корректен, но (module + 0x17361E8) может стать не корректным. Или размер читаемых данных не корректен.
    Написано
  • Литература для последовательного изучения программирования?

    @res2001
    fenrir,
    Последовательный единый базис, подобно университетским программам.

    Давно не был в университете, но вроде бы чаще там учат алгоритмы по Кормену как раз. По крайней мере Кормена студенты знают, а Кнута, обычно, нет. Хотя у меня не репрезентативная выборка :-)
    "Грокаем ..." - да на пару вечеров, я и писал, что это "легкое". Для понимания азов алогритмов и некоторых примеров достаточно. В дальнейшем, если понадобиться, можно будет углублять Корменом или Кнутом или чем-то другим.
    что мешает решать примеры из книги на любом ЯП?

    Ничего. Но если ты ноль, то ты не знаешь ни одного ЯПа. А Кнут пишет свои примеры на некотором абстрактном ЯПе, который сам придумал для книги. Вот и решай примеры как хочешь :-)
    Написано
  • Литература для последовательного изучения программирования?

    @res2001
    siemvv,
    ЯП - это разве не форма идей, закладываемых прикладным программированием?

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

    Мне хочется в перспективе выйти за пределы типовых задач.

    Каждый раз, когда захочется этого, то придется напрягаться и изучать что-то новое. А если не придется напрягаться - значит эта задача уже стала для вас типовой :)

    Я не думаю, что изучение именно "языка" даст глубокое понимание, как и что работает.

    Это зависит от языка. Питон - ну скорее всего кроме знания самого ЯП даст некоторое ограниченное представление об ООП. С++ - даст практически полное представление о возможностях ООП, некоторое понимании того как работает процессор и память. Так же если захотите погрузиться в сетевое программирование или параллельное программирование, то С++ предоставит эту возможность, питон то же, но с ограничениями и т.п.

    В целом, я за изучение алгоритмов и даже настаиваю, что это программисту необходимо. Но
    1. Кнут, на мой взгляд, не подходящий вариант для погружения в эту тему с нуля. Но если хотите Кнута и не боитесь математики - вперед. Почему бы и нет.
    2. Алгоритмами тема программирования далеко не исчерпывается.
    Написано
  • Литература для последовательного изучения программирования?

    @res2001
    Кнут не про программирование вообще и не про ЯПы, а про алгоритмы. Там много интересного. Но 4 внушительных тома напичканных математикой... на полке выглядят красиво :)
    По алгоритмам есть много других книг с разной степенью требовательности к читателю.
    Если совсем ноль, то можно взять что-то легкое, типа "Грокаем алгоритмы", потом, если понадобиться, добавить в коллекцию Кормена - то же весьма внушительный том, но он 1 и заточен больше на программистов, а не математиков, как Кнут.

    Алгоритмы вещь нужная для настраивания мозга на правильный лад и в жизни, порой, бывают полезны, но далеко не все и не каждому. Но это лишь часть от того что требуется. На универсальный курс по программированию не тянет.
    Написано
  • Литература для последовательного изучения программирования?

    @res2001
    Вряд ли такое есть в природе.
    Переключаться между языками в рамках одной парадигмы программирования можно достаточно легко, т.к. принципы в ЯПах заложены одни и те же или похожие. Но переключиться на язык из другой парадигмы будет сложно.
    Например переключиться C++ -> python - вообще не проблема - через неделю плотного погружения будете уже "шпрехать" на питоне вполне сносно. Обратно сложнее и дольше, т.к. С++ сложнее, но в целом то же не большая проблема - сильно ломать голову не придется, просто будет много специфических нюансов.
    А вот python/С++ -> SQL или какой-нибудь Haskel - уже придется напрягаться и фактически учиться программировать заново в рамках новой парадигмы.

    Для облегчения переключения в рамках одной парадигмы есть смысл учить сразу сложный язык, например С++ для императивной парадигмы - большинство других ЯП из этой парадигмы будут проще.
    Но учить сложный язык с нуля - это долго и может быть менее продуктивно, чем, допустим, начать с питона, а затем когда уже освоите немного питон и алгоритмизацию переключиться на С++.

    Мне важен именно "курс", подобно университетским программам.

    Что дверь в универ для вас закрыта уже? Кстати, можно погуглить и университетские программы. Но университет то же не даст гарантии "без проблем перемещаться между различными языками и технологиями".
    Написано
  • Какие книги по linux лучше для новичка?

    @res2001
    theeighthofseptember,
    С конечной целью я сам не определился

    Стоит начать с изучения с точки зрения пользователя ОС.
    В процессе будут возникать вопросы по настройке разных частей под свои хотелки, будете копать в этих направлениях.
    Делайте акцент на инструментах командной строки, т.к. в GUI далеко не все можно сделать.
    Научитесь писать и понимать bash скрипты.
    Найдите книжку по администрированию. Но в книгах такого рода, обычно пытаются охватить большое количество тем, из-за чего они бывают достаточно поверхностные. Но для первоначального вкатывания в тему - пойдет. Для углубления знаний или поиска ответов на не стандартные вопросы придется искать дополнительные источники информации.
    В линукс есть встроенная справочная система - man, там много всего полезного можно найти и как пользователю/администратору и как программисту.
  • Камера видеонаблюденияч постоянно шлет трафик в openvpn без запроса. как можно исправить?

    @res2001
    Слава Кривошейков,
    Нельзя ли в конфиге опен впн прописать...

    Это не дело ВПН и это даже не дело фаервола отслеживать клиентские запросы к камере.
    Хотя на приличном фаерволе с помощью костылей что-то и можно придумать, но это именно что костыли. Можно ли это что-то придумать с кинетиком - отдельный вопрос.
    Правильный вариант - настроить правильно камеру. Изучайте мануал от камеры в этом направлении.
  • Возможна ли стажировка в IT для подростка?

    @res2001
    Однозначно стоит учиться. В ВУЗе. Ждать 18 не надо - все будет в свое время.
    Начинайте делать свои проекты и складывайте удачные на гитхабе. Но на этой стадии важны не сами проекты и не то, что вы их сможете показывать работодателю, а то что вы научитесь самостоятельно обучаться.
    Стажироваться или подрабатывать можете на каникулах в свободное от учебы время.
  • Какие книги по linux лучше для новичка?

    @res2001
    Ядро 2.6 - нормально.
    Суть в том, что начиная с этой версии в ядре произошли серьезные изменения, из-за которых многое потеряло совместимость с версией 2.4.
    После 2.6 таких кардинальных изменений не было, все развитие происходило плавно и совместимость с 2.6 никуда не делась. Так что, практически все, что написано для 2.6 вполне актуально и сейчас. Конечно появились какие-то новые фишки, но старый API - это база, он жив и вполне актуален.
    "Исчерпывающее руководство" - хорошая книжка, автор пишет маны для линукса.

    Кроме того, после 2.6.39 изменился принцип нумерации версий. Сейчас мажорные версии меняются гораздо чаще. Версия 2 была актуальной 15 лет. Из них ветка 2.6 была актуальной почти 8 лет. А сейчас посмотрите, на сколько чаще меняются мажорные версии.
    https://en.wikipedia.org/wiki/Linux_kernel_version...

    Применительно к вопросу, не понятно, с какой целью вам надо изучать линукс. Если вы хотите под эту ОС программировать - это одно, "Исчерпывающее руководство" подойдет. Если надо как пользователю знать ОС или как администратору - нужны другие книги.
  • Как исправить код и сделать так что бы он выдавал рандомные числа?

    @res2001
    Montix, Поместите расчет числа и его вывод в цикл, раз 10-20 выведите, числа должны быть разные и разброс чисел должен быть нормальным.
    У вас же только 1 вызов rand на каждый запуск программы и генератор инициализируется текущим временем в секундах. Если запускать программу достаточно быстро (что бы секунда не прошла), вы вообще можете получать одинаковые рандомные числа от запуска к запуску.

    rand() возвращает число от 0 до RAND_MAX. Часто RAND_MAX это 65535, но не обязательно - стандартом не оговаривается. Можете посмотреть какое оно в вашей конкретной версии стандартной библиотеки.
  • А можно как то запереть хром в каком то куске ОЗУ?

    @res2001
    RigidStyle,
    вот по этой логике и получается

    Не получается. В своем виртуальном адресном пространстве у премьера нет никаких проблем выделить 20Гб непрерывного участка памяти. Но как эта виртуальная память будет распределена по физическим страницам памяти ведомо только ядру ОС. И даже если вы загоните хром в виртуальную машину, то скорее всего это не решит проблему в корне, хотя, возможно, несколько ее сгладит.
    Можно улучшить положение, только уменьшением количества вкладок.
    Для firefox есть такой плагин sidebery - он позволяет гибко организовывать ваши вкладки, разделяя их на контейнеры и выстраивая иерархию и т.п.. Одна из возможностей плагина - выгружать из памяти не открытые вкладки в неактивных контейнерах. Это реально разгружает процессор. Для хрома то же есть этот плагин. Попробуйте.
  • Дублирование учетки администратора, в чем причина?

    @res2001
    Pavel Valeo, Когда такое происходит попробуйте залогиниться другим "чистым" админом и посмотреть, какие процессы работают под проблемным adminом, когда под ним нет работающего пользователя.
    Если что-то работающее есть, то можно будет отключать эти процессы из загрузки (службы, задания, автозагрузка), перезагружаться, логиниться adminом и смотреть какой профиль будет использоваться.
  • Дублирование учетки администратора, в чем причина?

    @res2001
    Pavel Valeo, SID-500 - это для учетки "встроенного" админа. Она обычно сейчас отключается в политиках безопасности. Ваша учетка, видимо, создавалась руками.
    пользователь один и тот же

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

    @res2001
    Pavel Valeo,
    происходит создание дублирующей учетной записи

    Учетная запись это не каталог с профилем.
    У вас реально происходит создание новой учетной записи? И у вас в системе 2 пользователя с именем admin?

    Если реально 2 пользователя, то это нормально, что для второго пользователя система создает свой профиль - SIDы у них разные и для системы это 2 разных пользователя.
    Странно, что происходит создание второго пользователя с тем же именем (и, видимо, с тем же паролем). Ищите, кто или что создает нового пользователя.
  • Почему vs не может найти указанный файл по пути?

    @res2001
    CrazyBear7, VS не может найти исполняемый файл проекта. Видимо вы не откомпилировали проект, а если откомпилировали, то, видимо, были критические ошибки, которые не дали компилятору завершить это дело до успешного конца.
    Исправьте ошибки, соберите исполняемый файл!
  • Как исправить ссылку на неразрешенный внешний символ?

    @res2001
    Используете IDE? Какую? Обычно достаточно добавить файлы в проект в IDE, дальше IDE соберет исполняемый файл сама.
    Собираете вручную? Какой командой?
    Само содержимое файлов в данной ситуации не информативно.
    Так же приведите полный текст ошибки, выдаваемый компилятором.