作業系統與環境設定

專案建置[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標籤頁

下課嘍!

都會裝東西了嗎?

記得報名秋遊!

專案建置[0] 作業系統與環境設置

By Aaron Wu

專案建置[0] 作業系統與環境設置

  • 1,072