通識課01.軟體開啟方式-執行檔

執行軟體應用

前面的文章「懶惰的軟體工程師養成計劃」中有提到,我會先開始建構一套「通識課」,而這「通識課」的第一部份,就是先帶大家瞭解軟體開啟的各種方式。

當然,熟練的人可以跳過,不熟或有些不確定的人,就先一起看看我們未來開發出軟體後,它們會是什麼樣子,以及它們是如何執行的。

以前網路還沒有非常流行時,我們講到軟體開發,通常都是在開發執行檔,也就是我們常常在Windows電腦上看到的EXE(Executable)檔案,以下我們以Chrome 瀏覽器為例子,大家可以跟著我一起找找它的執行檔。

找出執行檔的位置

Chrome瀏覽器(以下簡稱Chrome),相信是許多人最常用的軟體之一,同時也是目前世界上最多人使用的瀏覽器。

那我們來看一下,實際上我們是如何開啟Chrome的呢?

首先,我們對著自己桌面上的Chrome捷徑點右鍵→點擊屬性(Properties)可以看到下面的視窗畫面:

其中我用「紅色」框起來的部分就是Chrome的執行檔的完整路徑,但視窗中無法看到完整的文字,所以我們把它複製貼到這來看:

"C:\Program Files\Google\Chrome\Application\chrome.exe"

最後面的”chrome.exe”是執行檔的檔案名稱,而前面”C:\Program Files\Google\Chrome\Application\”是執行檔案存放的資料夾位置。

我們可以從電腦中開啟這個執行檔案存放的資料夾位置來看看,可以看到以下內容:

資料夾中除了執行檔以外,還有很多其他的檔案,這些檔案是執行檔在執行時可能會需要的其他資源檔案,它們通常會存放在執行檔的附近。

而其他資源檔案就像是程式套件、子程式、設定檔、外掛、資料文字和媒體(影片、圖片和音樂)等。

當主要執行檔在進行工作時,若有需要其他相關資源檔案,它會在資料夾中尋找它們,並從程式中開啟這些檔案來使用。

透過指令開啟

在原始電腦運作的的基礎原理下,這些執行檔案其實都是透過指令開啟的。

我們在Windows下可以找到類似DOS作業系統(很久以前只有指令的作業系統)的指令工具,那就是命令提示字元(Command Prompt)。

我們開啟命令提示字元,接著輸入完整的執行檔案路徑,按下Enter後,Chrome瀏覽器就會馬上開啟:

指令加上參數開啟

知道了電腦開啟軟體程式實際上是以指令的方式開啟後,接著我們使用指令開啟各種軟體時,大多軟體都支援加上參數進行開啟,我們可以在執行檔路徑的後面加上空白,然後輸入參數。

這些參數會跟著指令傳入執行檔案中,讓執行檔案收到,執行檔將會依據這些參數來執行不同的功能。

以Chrome來說,我們可以在後面加上網址,讓執行檔案開啟某個網站,若再加上參數”-incognito”,還可要求Chrome以「無痕模式」開啟,看看我實際執行的指令和結果:

"C:\Program Files\Google\Chrome\Application\chrome.exe" lazy-cto.bang.tw -incognito

指令加上檔案路徑開啟

例如我們在文件資料夾中放了一個test.pdf的檔案,因為Chrome也可以開啟PDF檔案,我們就可以透過以下指令來開啟:

"C:\Program Files\Google\Chrome\Application\chrome.exe" "file:///C:/Users/bang/Documents/test.pdf"

在指令中的「file:///」是瀏覽器開啟電腦中檔案的位置格式。

滑鼠點開

看了這麼多指令,那最後我們來看平常我們滑鼠點開程式,到底執行了什麼指令?

其實在大多數的狀況下,我們以滑鼠點開程式就是直接輸入執行檔的位置作為指令開啟。

但我們若用滑鼠點開上面提到過的test.pdf檔案時,可以發現,test.pdf不是執行檔,卻可以透過Chrome的執行檔案開啟。

因為我們的作業系統(如Windows)已經幫我們設定好,副檔名為pdf的檔案,將會使用Chrome的執行檔作為開啟方式。所以滑鼠點開時,作業系統會透過這項設定決定使用chrome.exe的指令,並配上檔案位置來執行,得到最後我們前一小節看到的結果。