作業系統與環境設定

專案建置[0]

 

by 鹽亞倫

先來講講這學期我們會上些什麼

先來講講這學期我們會上些什麼

週數 內容
[0] ~ [1] 作業系統介紹、搭建寫程式環境
[1] ~ [2]  用指令與電腦溝通、Vim
[3]  專案初探、Git與Github
[4] ~ [7]  物件導向程式設計
[6]、[8] 編譯你的程式
[9] ~ [10]  物件導向專案實作、成發

兩個字概括前半段的課程內容

指令

學習各種用指令與電腦溝通的方式

今天我們會上什麼?

今天我們會上什麼?

環境變數與安裝

建立寫程式環境

作業系統

Operating System

硬體

硬體

硬體

軟體

80列、矩形孔的標準的IBM打孔卡片

硬體

軟體

硬體

軟體

硬體

軟體

當電腦越來越複雜

軟體開始打架爭取硬體了...

如何分配資源?

 

硬體

軟體

作業系統!

當電腦越來越複雜

軟體開始打架爭取硬體了...

如何分配資源?

作業系統!

硬體

軟體

OS

常見的作業系統

UNIX

DOS

vs

  • 多使用者、多工作業系統
  • AT&T的貝爾實驗室開發
  • 原本免費供大眾使用,因此廣受歡迎
  • 寫程式的標準
  • 用shell script!
  •  單一使用者、單工的作業系統
  • IBM 和 Microsoft 研發的
  • 主要用在個人電腦 
  • 用 batch script !

延伸出:

linux

freeBSD

macOS

Windows

Windows

Windows

Linux

A UNIX like OS,

The most important OS in the world

自由軟體運動

其他常見自由軟體:Firefox、Python...

你會發現,現在主流程式語言和環境最主要都是設計給linux等UNIX-like 系統!

Unix指令已經是每個程式設計師必備的知識

因為windows command太難用

開發環境

Development Environment

什麼是環境?

  • 所有寫程式會用到的程式
  • 蛤?
  • 舉個範例:
  • 乘一想用python寫一個怪怪的discord機器人

python直譯器

一堆有的沒有的設定檔

DC bot 套件

程式編輯器

這就是環境!!!

搭建一個環境是寫程式

最重要的第一步!!!

這麼多東西怎麼裝?

  • 套件管理系統:
  • mac 的 Homebrew、Ubuntu 的 apt、arch linux 的 pacman
  • python套件用pip、conda裝

學長我好懶......

IDEs !!!
for懶人,一次裝完editor, compiler, framework...

learn more

可是學長
你還是沒告訴我到底什麼是安裝啊?

命令列環境與安裝

Command-Line Interface & Installation

命令

廣義的命令

  • 對電腦做任何一件事
  • 例如:用滑鼠點開桌面上的a.txt檔,加入"AaW上課好無聊"這句話

狹義的命令

  • 在命令列環境當中,用指令語言操控電腦
  • 例如:
$ echo "AaW 上課好無聊" >> ~/Desktop/a.txt
  • 之後的兩到三堂課都在講這個

CLI

  • 用來打指令的地方
  • windows 的 cmd 或是 powershell
  • mac / linux 的 terminal

neofetch 指令的效果

可是,如果隨便找一台mac的terminal
輸入neofetch

會發現它顯示這樣

因為沒有安裝這個指令!!!

以Mac/Linux環境為例,要有辦法運行一個指令,要有一個執行檔 或 shell 檔 存放在某個地方​

-> 各個bin資料夾!

以Mac/Linux環境為例,要有辦法運行一個指令,要有一個執行檔 或 shell 檔 存放在某個地方​

-> 各個bin資料夾!

e.g: /usr/bin

/usr/local/bin

所謂的安裝,就是將執行檔以及他會用到的相對應檔案,放好讓電腦找得到!!!

舉例:neofetch 在安裝時,會去把蘋果logo的路徑找出來並記錄好

C++環境

C++ Environment

C++ 的環境有哪些東西?

C++ 的執行生產線

首先,不同作業系統環境不一樣

  • 最常用的C++編譯器是GCC (GNU compiler collection) 的g++
  • 設計給 Unix-like 環境用的
  • 有沒有其他compiler?
  • 微軟研發的C++編譯器:Microsoft Visual C++ (競賽圈沒人用)
  • 虎視眈眈G++位置的:LLVM的clang (還是設計給linux用的)

MINGW 安裝

在 Windows上裝gcc/g++

MinGW簡介

Minimalist GNU for Windows

  • 是將GCC編譯器和GNU Binutils移植到Windows平台下的產物
  • 在Windows上模擬linux的運行來跑g++

1. 下載installer

2. 點開setup精靈

3. 一路按下一步

注意:這個地方叫做安裝路徑,不要亂動他!

安裝路徑

  • 放一堆設定檔的地方
  • Windows預設在 C:\\Program Files 或是C:\\Program Files (x86)
  • mingw 預設在 C:\\MinGW
  • 除非你很瞭解,不然不要亂動預設值!
  • 尤其不要改到桌面!!!
  • 你可以想像這堆設定檔全部跑到桌面上會發生什麼事...

繼續安裝,裝完桌面上會出現一個minGW installer

對不要懷疑你剛剛是在裝安裝器

點開他,左邊有一個 MinGW Base System子選單

勾選 mingw32-base、所有gcc和g++結尾的東西

如果分不出來就把右邊框框所有東西打勾

 

打勾方式:

按mark for installation

打勾完到左上方按這個

然後 Apply

等他跑完就裝好g++了

可以看到在 C:\MinGW\bin 裡面有一個 g++.exe

耶!可以編譯了
嗎?

修改環境變數

如果你現在打開cmd
輸入g++

會出現:

可是我們不是裝好g++了嗎?
為什麼系統找不到?

Path 變數

  • 環境變數其中一項
  • 在windows裏面沒有bin資料夾
  • 要手動去紀錄電腦要去哪裡找指令!!!
  • 我們要手動把裝完的g++的路徑告訴電腦!

補充:在linux裡面也有path變數,裡面存的就是各個bin資料夾的路徑

打開控制台

找到

「編輯系統環境變數」

建議用搜尋的

按編輯

新增

並且把剛剛g++.exe在的資料夾路徑複製過去

C:\MinGW\bin

 

按下確定

之後一路按確定就大功告成了!!!

最後一步:檢查

打開cmd / terminal

輸入 g++ -v 或是 g++ --version

出現版本序號就大功告成了!!!

裝完之後測試看看吧

寫一個hello_world.cpp

並且試著編譯看看

 

編譯教學

Mac 和 Linux 裝gcc

其實根本就已經裝好了

Ubuntu / Debian

sudo apt install gcc

terminal 輸入

搞定

Xcode

Mac上裝類g++

步驟:

  1. 打開terminal
  2. 輸入以下指令:
xcode-select --install

3. 沒了

這就是Unix-like作業系統的好處,所以不要用windows

其實mac裝的gcc會是clang

不能 #include <bits/stdc++.h>

想要include的人另外找講師教你

VS code

聽說好用的編輯器

1. 下載installer

並且安裝
安裝精靈不用再一步一步帶著用了吧

安裝C++支援

這兩個也可以順手裝一下

安裝code runner

因為內建的執行沒有人成功用過

設定code runner

往下滑,把這三個打勾

執行

run code > 三角形按鈕

輸出結果在下面terminal標籤頁

下課嘍!

都會裝東西了嗎?

記得報名秋遊!