Independent Dog

My EDA life record

📖 earlier posts 📖

STL Map

在C++基本函式庫中實作紅黑樹(Red Black Tree)和雜湊(Hash)的資料結構分別是
map 和 unordered_map 兩個資料結構在使用上基本上沒有什麼區別,不同的部分只有map 的紅勒樹是可以用iterator尋訪,以及搜尋時間是O(log N) 而unordered_map則不能尋訪但其搜尋時間是
O(1)。

...more

Vector

STL Vector 使用教學

簡介
建構子
物件函式

1.簡介

Vector 是C++ 中用來產生動態陣列的資料結構,替代C中
動態陣列繁複的malloc(), realloc()以簡化開發程序。

...more

檔案讀取寫入教學

檔案讀取教學

如果將要讀取的檔案名稱存在程式裡,每次要執行新的檔案時都要重新complier一次。檔案還小時還不打緊但當檔案數目到了一定數量後曠日廢時的編譯時間會令使用者抓狂所以好的讀檔方式是在程式設計中不可或缺的一環。

在Linux 的terminal 上執行程式我們會使用./語法 如:./file < input_name > < ouput_name >。將要讀取之檔案名稱以及輸出之檔案位址加在後頭是個不錯的方法。具體實作上我們會使用到argc,argv[]這兩個參數。

在上面的範例中,argc 是輸入的指令總數 file input_name ouput_name 總共有三個參數,所以argc是3。argv則是一個字串陣列,每一個陣列中的元素代表著輸入的字串。以上題為例:argv[1]會是 input_name, argv[2]則會是 ouput_name。

使用範例:

1
2
3
4
5
#include <iostream>
int main(int argc, char* argv[])
{
}

...more

簡易Makefile教學

1.使用Makefile的原因以及 Compile 過程

簡單來說的話makefile就是一個把你要終端機執行的程序預先設置好讓終端機批次處理的檔案。
好比我今天要將 (cpp檔案 >> 執行檔執行) 這個過程,如果直接在終端機輸入指令的話會有:

1
2
3
g++ -c main.cpp
g++ -o file main.o
file.exe

這三個指令,如果每次修改了程式後就要重新complier,那也就代表要重新輸入指令這對整個工作過程可以說是相當浪費時間的。因此使用makefile去節省這部分的時間是對整個程式開發過程極為重要的一件事!!

...more

GNU GCC on Windows

檔案安裝

工欲善其事,必先利其器。在安裝GCC之前我們要先把好用的文字編輯器安裝好。我個人推薦的是visual studio code 和 Sublime text 兩個個有優缺,喜歡那個就裝那一個吧!!

visual studio code
Sublime Text 3

接下來要下載GNU GCC了,下面我提供懶人載點不過最好還是自己上網找最新的比較好。

key word : mingw-get-inst
GNU GCC

make 一樣提供懶人載點,雖然很久沒更新了不過還是找找看比較好。

key word : make for windows
make

...more

📖 more posts 📖