CS 110 DiscussionWeek 1
March 3, 2020
CS 110 Discussion 2020.3.3 1 / 20
Table of Contents
1 Linux Setup
2 Virtual Machine
3 GCC
4 GNU Make
5 Zoom
6 Autolab
CS 110 Discussion 2020.3.3 2 / 20
Table of Contents
1 Linux Setup
2 Virtual Machine
3 GCC
4 GNU Make
5 Zoom
6 Autolab
CS 110 Discussion 2020.3.3 3 / 20
Linux Intro
Linux is just a kernel.
Many user space applications are from GNU.
You might wish to install a specific Linux distribution.
CS 110 Discussion 2020.3.3 4 / 20
Linux Distribution
Definition
A Linux distribution (often abbreviated as distro) is an operating systemmade from a software collection that is based upon the Linux kernel and,often, a package management system.
CS 110 Discussion 2020.3.3 5 / 20
Linux Distribution
List of well-known distros:
Debian
Ubuntu
Fedora
Red Hat Enterprise Linux (RHEL)
CentOS
Arch Linux
Manjaro Linux
CS 110 Discussion 2020.3.3 6 / 20
Install Linux
Choose your favourite Linux distro and follow the instruction on theirofficial website.Usually you need to burn a USB disk.
CS 110 Discussion 2020.3.3 7 / 20
NVIDIA and Linux
NVIDIA is notorious for lack of support for Linux.You should be careful if you have an NVIDIA card.Especially if you wish to install graphical user interface (GUI).
CS 110 Discussion 2020.3.3 8 / 20
Table of Contents
1 Linux Setup
2 Virtual Machine
3 GCC
4 GNU Make
5 Zoom
6 Autolab
CS 110 Discussion 2020.3.3 9 / 20
Virtual Machine
A very good alternative if you do not wish to install Linux on realdevices.
Recommend software:
Windows: VMware WorkstationMac: VMware Fusion
CS 110 Discussion 2020.3.3 10 / 20
Tips and Tricks
VMware Workstation has a free version: VMware Workstation Player.
Some functions are exclusive on Workstation (e.g. snapshots).
You can create a VM in Workstation and import it into Player.
CS 110 Discussion 2020.3.3 11 / 20
Table of Contents
1 Linux Setup
2 Virtual Machine
3 GCC
4 GNU Make
5 Zoom
6 Autolab
CS 110 Discussion 2020.3.3 12 / 20
GCC
Short for GNU Compiler Collection.
We will only use the C compiler (gcc) and C++ compiler (g++).
What is the difference between g++ and gcc? - Stack Overflow
CS 110 Discussion 2020.3.3 13 / 20
Table of Contents
1 Linux Setup
2 Virtual Machine
3 GCC
4 GNU Make
5 Zoom
6 Autolab
CS 110 Discussion 2020.3.3 14 / 20
GNU Make
GNU Make is a tool which controls the generation of executables andother non-source files of a program from the program’s source files.
Simple syntax:
t a r g e t : d e p e n d e n c i e s . . .commands . . .
Important
Do not forget a tab (\t) before each command.
CS 110 Discussion 2020.3.3 15 / 20
Table of Contents
1 Linux Setup
2 Virtual Machine
3 GCC
4 GNU Make
5 Zoom
6 Autolab
CS 110 Discussion 2020.3.3 16 / 20
Join a Meeting
CS 110 Discussion 2020.3.3 17 / 20
Screen Sharing
CS 110 Discussion 2020.3.3 18 / 20
Table of Contents
1 Linux Setup
2 Virtual Machine
3 GCC
4 GNU Make
5 Zoom
6 Autolab
CS 110 Discussion 2020.3.3 19 / 20