Готовим PC к лабкам

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

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

Я честно не понимаю как люди пишут на СИ в gedit или sublime, компилируя в терминале. При этом знать не знают как использовать отладчик. Все решается, господа.

Для многих, кто это читает Windows основная система. Так давайте совместим приятное с полезным.

Для дальнейшего потребуется:

  1. Windows 10
  2. >4 гб RAM
  3. 15-25 минут свободного времени
  4. ~15-20гб свободного места (на диске C:\ )

Что мы будем делать:

  1. Фактически поставим Linux(Ubuntu 16.x) на Windows
  2. Поставим удобные инструменты для работы с кодом
  3. Поставим плагины для ускорения сдачи лаб (руки не идут в комплекте, увы)

Начнем

Первое что нужно сделать, это поставить Linux.

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

  1. Включим подсистему Linux в Windows

Для этого идем : Пуск -> Control Panel (Панель управления) -> Uninstall a program (Удаление программ) -> Windows Features (Включение/Отключение компонентов Windows) -> Включаем Windows Subsystems for Lunix и PowerShell

Скрины ниже:

ControlPanel

UnistallAProgram

features

subpower

После этого Windows скачает(+включит) необходимые компоненты и перезагрузится.

  1.1. Теперь поставим Linux

Открываем PowerShell (или терминал): Win+R ->powershell (или cmd)

powershell

Откроется вот такое добро. Пишем туда bash и тыкаем Enter

bash

Он предложит скачать подсистему, пишем yes и нажимаем Enter.

Все, на данном этапе мы поставили Linux себе в Windows, без смс и регистрации.

Ставится она буквально голая, поэтому открываем снова PowerShell и пишем bash.

Далее ставим необходимый нам gcc:

sudo apt-get update

sudo apt-get install gcc

Важно:

Копирование из этой консоли происходит после выделения области с текстом и нажатия правой кнопки мыши (или выделению и Ctrl+C)

Вставка в консоль также происходит по нажатию правой кнопки мыши по пустому месту (По Ctrl+V вставки не происходит!)

Почему я не рекомендую использовать cmd: слишком много проблем с нормальным фукнционированием обычной Командной строки с сим детищем. То копировать отказывается, то пути не правильно вставляет — мрак, да и только. Будущее за PowerShell (дальше-больше)

Итак, ты сейчас добился фактически перемирия между OpenSource и Проприетарщиной. Можешь гордиться этим.

  2. У нас есть карманная линуха, но мы все еще в Windows, пора поставить нормальный инструментарий для работы с кодом, а не вот это всё.

Ставим, конечно, Notepad++ и Visual Studio 2017 Community

Начнем с первого, ибо попроще. Старый добрый Notepad++, чтобы если что подправить ваш говнокод на скорую руку. +Выделение синтаксиса весьма приятная штука.

С Вижлой будет по-сложнее, но вы справитесь, возможно.

У вас откроется окно инсталяции, обращаю внимание, что начиная с 2017-й вижлы, можно выбрать место установки. (На всякий случай, если вам жалко места на C:\), также с 2017-й студии можно выбрать отдельно компоненты, которые нужны именно для ваших страданий:

Выбираем C++ desktop и .Net desktop. Дальше листаем в самый низ

str1

И выбираем Linux dev C++str2

Дальше идем на вторую вкладочку и выбираем еще 2 пункта: C++/CLI support, Standard Library Modules

str3

Жмем Install, и ждем завершения установки.

    3. Установка плагинов для успешной и быстрой работы с говнокодом

Первым делом ставим Productivity Power 2017, идем:

extens

productivity

Перезагружаем вижлу, ждем установки.

Далее (по возможности) поставьте отдельно ReSharper  (он немного платный, но вы, возможно, справитесь. Не забудьте поставить поставить галочку на C++ при его установке)

Итак, в чем основной профит сего выше проделанного, и как нормально создать проект в вижле:

  1. Вы получаете отладчик
  2. Автоматический кодстайл

Итак, все проекты лежат в Моих Документах/Visual Studio 17/Projects

Создадим новый:

newProj

 

firstproj

projEmpty

lyly

main.c

Напишем маленькое тестовое приложение и запустим по F5

maxsp

Все работает, но это пока на винде, деду такое не подойдет.

Идем к нашему файлу.

!щзут

зфер

В PowerShell пишем cd «ваш путь» (кавычки обязательно), и потом bash

!bash

потом,

gcc <имя_вашего_файла_с_расширением_.с>

./a.out

!sht

Как вы могли заметить мне лень переделывать скрины  некоторые различия между кодом, который работает в VS и Linux есть. В данном случае «system(«pause»);» в примере служило тому, чтобы консоль на винде не закрывалась. На Linux это не нужно, поэтому при сдаче не забудьте удалить лишнее.

Да, имена которые получаются в консоли какие-то дикие, поэтому при формировании отчета, делайте все в другой папке, предварительно скопировав туда свой файл.c из папки проекта VS.

Опять же, если вам не нравится VS, и прогать в своих блокнотах вам удобнее, то переходить с системы на систему вам должно было осначертеть. Та же виртуалка обычно здорово грузит систему и совершенно не удобна, как по мне. Bash в консоли-топчик.

Позднее покажу как запускать линушные приложения с графикой на винде.

gnuplot

Дерзайте.

 

Оставьте комментарий