• Нужно ли знать +- ассемблер, чтобы изучать C?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Всем программистам стоит пройти хотя бы ознакомительный курс ассемблера. Особенно тем, кто пишет на отсносительно близких к железу языках, вроде Си.

    Это здорово вправляет мозги. Появляется понимание, а как вообще компьютер работает. Это не необходимое знание, конечно, но лишним оно не будет точно.
    Ответ написан
    Комментировать
  • Как создать графическое приложение для Windows?

    GavriKos
    @GavriKos
    То что вы используете - называется чистый winAPI. И делать на нем интрефейс будет мучительно и неудобно. Но читать надо именно о нем.

    Советую если уж по динозаврам - то откопать хотя бы MFC. Будет проще. А лучше всего - использовать Qt - по нему материала вагон.
    Ответ написан
    Комментировать
  • Произведение элементов массива, расположенных после последнего нулевого элемента?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Цикл у вас не до элемента с нулевым значением, а до элемента с нулевым индексом.
    Ну и инициализировать надо единицей, а не нулём, как уже написал dollar.
    Ответ написан
    Комментировать
  • В какой среде программировать для Windows XP?

    Была поддержка Windows XP в Visual Studio 2017. Нужно просто выбрать определенный toolset.
    Ответ написан
    1 комментарий
  • Как использовать одно состояние переменных заголовочного файла в нескольких исходных файлах программы?

    @Fatus
    Инженер-электроник
    Защита заголовков. Ваши определения функций и определений типов не должны объявляться дважды. Поэтому не забывайте про защиту включения: старый способ #ifndef #define #endif или прагмой #pragma once. Но думаю Вы итак это используете, а проблема именно в переменных.
    Если вы объявляете переменную в заголовочном файле (не надо так) т.е. вне функции - переменная является статической и область видимости такой переменной - файл, но вы хотите через .h файл сделать видимой статическую переменную с областью видимости файл в разных файлах. Переменные не объявляются в .h файлах.
    Решение: статические переменные объявляются в .с файле. Если вы хотите ограничить область видимости до файла, используете static. А вот если вы хотите расширить область видимости до проекта, то в файле, где вы хотите использовать объявленную в другом месте переменную, используйте ключевое слово extern. Иными словами - объявили в .с файле статическую переменную (int x;) создали .h файл и там указали extern int x; и теперь вы можете добавлять свой .h файл и переменная x будет обладать внешней компоновкой, и из всех .с файлах вы будете обращаться к одной статической переменной х (которая объявлена и инициализирована один раз в .с файле, но никак в .h)
    Ответ написан
    Комментировать
  • Отправка содержимого текстового файла как параметр curl из cmd, как сделать?

    wisgest
    @wisgest
    Не ИТ-специалист
    Получить в переменную с помощью SET /P и перенаправления входного потока или с помощью FOR /F.
    Примеры: forum.script-coding.com/viewtopic.php?id=5332
    Ответ написан
    4 комментария
  • Что использовать для кроссплатформенного GUI на C++?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    wx - это страх, ужас, старье, трэш и угар. Он пытается любую систему превратить в венду (точнее, в пародию на MFC). Где вы только его выкопали? Закопайте обратно и не трогайте.

    Qt на лицензии LGPL неплох.

    1) Работает. И на макоси работает, и на андроиде работает, и на вебе работает, причем двумя способами.
    2) Нетушки, учите английский. Если упираться и требовать доку на русском, 99.99% современного айти пройдет мимо вас. Ладно, в случае с Qt есть книжки Шлее
    3) Он там есть
    Ответ написан
    6 комментариев
  • Как можно сделать личное расширение для файла, чтобы оно работало как exe?

    @urm0m8f
    из под админа в командной строке
    assoc .qnahabr=myexefile
    ftype myexefile="%1" %*

    также, абсолютно равноценны расширения *.pif *.exe *.com.
    *.scr - почти, там ключ /S добавляется.
    c:\>assoc .exe
    .exe=exefile
    
    c:\>ftype exefile
    exefile="%1" %*
    
    c:\>assoc .pif
    .pif=piffile
    
    c:\>ftype piffile
    piffile="%1" %*
    
    c:\>assoc .scr
    .scr=scrfile
    
    c:\>ftype scrfile
    scrfile="%1" /S
    Ответ написан
    Комментировать
  • Как понять цифры хэмминга на пальцах?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не 2i3j5k, а 2i×3j×5k
    Это означает, что при разложении числа на простые множители мы получим только 2, 3 и 5.
    1 = 20×30×50
    3 = 20×31×50
    15 = 20×31×51
    30 = 21×31×51
    60 = 22×31×51
    90 = 21×32×51
    и т.д.
    Ответ написан
    3 комментария
  • Что делать если bios не видит жесткий диск?

    @infinityfreenom
    Если раньше при загрузке Windows 8.1 в самом начале по центру экрана отображался логотип

    вот такой
    6123e386894bf782173778.png


    то значит винда установлена в режиме Legacy а на том ноуте где она не запустилась стоит режим UEFI

    либо если такого логотипа раньше не было то винда установлена в режиме UEFI а на ноуте выставлен режим Legacy

    поиграть в BIOS с переключением режима UEFI, Legacy, Legacy support Fist Boot from UEFI и тому подобное.
    Ответ написан
    2 комментария
  • Проблемы с гитом. Что делать?

    karabanov
    @karabanov
    Системный администратор
    Переведи сообщение на русский и сделай то, что он тебя просит.
    Ответ написан
    Комментировать
  • Как установить свой образ ISO CentOS на VPS имея доступ только к SSH и VNC?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Никак. Образ должен быть размещен провайдером VPS и доступен через панель управления.

    Хотя... (дальше идет чистое теоретизирование, на практике не проверенное и к центосу никак не относящееся)

    - подключить в конфиг еще один диск. Диск 1 - на нем линух от прова и хомяк. Диск 2 - на нем будет свой линух.
    - забутится с диска прова, в хомяка закинуть архив своего линуха типа stage3 в генте.
    - stage3 развернуть на Диск2, настроить необходимое в /etc
    - дополнить конфиг граба еще одной конфигурацией, в которой рут ссылается на Диск2, попробовать загрузиться.
    Ответ написан
    Комментировать
  • Как сделать git clone файлов с локального компьютера на сервер?

    delphinpro
    @delphinpro
    frontend developer
    Сделать удаленный репозиторий.
    Назначить его основным (origin) у себя локально.
    Сделать push.

    Разумеется, предварительно настроить коннект к своему серверу по ssh.
    Ответ написан
    4 комментария
  • Как открыть порты на Openvpn?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Впн-сервер в открытии портов не участвует.

    Если я вас правильно понял и нужен форвард пакетов с внешнего адреса VPS на одного из впн-клиентов - это делается в iptables/nftables ОС.
    Ответ написан
    Комментировать
  • Как работают интерпретаторы компилирующего типа?

    @Mercury13
    Программист на «си с крестами» и не только
    1) То есть считал строку, скомпилировал - получил двоичный код. Выполнил этот двоичный код.

    НЕТ. Считал — выполнил. Выполняется машинный код интерпретатора, а не программы.

    3) Байт-код понятен среде/виртуальной машине (.NET, Java), которая компилирует байт-код в двоичный код

    В ЧИСТОМ СЛУЧАЕ — НЕТ. Считал команду байт-кода — выполнил. Точно так же выполняется машинный код интерпретатора, а не программы. Что-то вроде:
    switch (opcode) {
    case OP_ADD: {
           auto res = stack.pop() + stack.pop();
           stack.push(res);
       }
    .....
    }


    Байт-код используется по нескольким причинам.
    1. 3 быстрее 1.
    2. С расширением языка мы меняем только компиляцию в байт-код. Оптимизация байт-кода, интерпретатор — остаются.

    А компиляция в машинный код в 1 и 3 — это так называемая JIT-компиляция. Она может выполняться не всегда. Одни команды могут быть в машинном коде, а другие — интерпретироваться.

    Кроме того, байт-код часто используется и в классических компиляторах 2-го типа! Это позволяет делать многоплатформенные коллекции компиляторов — все frontend’ы компилируют в байт-код, затем с байт-кодом делаем какую-то магию вроде оптимизации, отдаём его backend’у, и тот готовит OBJ-файл для нужного процессора.
    Ответ написан
    Комментировать
  • Как junior'у перестать нервничать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    6. Берусь за любую работу, которую могу сделать (чтобы быть хоть немного полезным)

    Не надо за совсем любую. Если есть выбор, бери за те, которые для тебя будут более полезные - с чем-то разберешься, доведешь до конца, узнаешь какие-то моменты.

    Но чувство тревоги не покидает меня по сей день, а с переводом на новую должность стало расти. Я не то, чтобы боюсь, что уволят (чего бояться в общем-то), скорее чувствую себя не в своей тарелке, т.к. понимаю, что приношу мало пользы, а платят исправно

    Эти вопросы решай со своим непосредственным куратором и начальником, как он у тебя там называется. Можешь спросить и выяснить кто будет этим заниматься.

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

    Проведешь таким образом 3-5 встреч, посмотришь какой из них выхлоп, и вместе решите надо ли делать чаще или реже, и в каком формате - это все можно адаптировать по ходу. Или они вообще перестанут быть нужны.

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

    DamianLewis
    @DamianLewis
    Это не сложно. Установите такую замечательную программу как 7zip
    Откройте командную строку в папке где у вас находится архив и выполните команду
    "c:\program files\7-zip\7z.exe" d 1.zip tod.pdf worr.doc -r

    где
    • c:\program files\7-zip\7z.exe - путь к 7zip
    • d - удаление файла(-ов)
    • 1.zip - название архива откуда удаляются файлы
    • tod.pdf и worr.doc - файлы которые нужно удалить
    • ключ -r - рекурсивное сканирование всех папок в архиве
    Ответ написан
    3 комментария