Register,Abbreviation,Purpose
x0,zero,Zero register (always zero)
x1,ra,Return address register
x2,sp,Stack pointer register
x3,gp,Global pointer register
Register,Abbreviation,Purpose
x0,zero,Zero register (always zero)
x1,ra,Return address register
x2,sp,Stack pointer register
x3,gp,Global pointer register
man vs man 3
man 3是manual page 的section 3的意思, 而section 3 for linux的c std library usage
man page section:
1. user commands
2. syscalls
[mac terminal hotkey]
create a new split window: command + d
close a split window: command + shift + d
[ctrlp]
open ctrlp -> in vim, ctrl + p
back last change -> ctrl + u
open file in new vim tab -> ctrl + T
open file in new vim vertical splited window -> ctrl + v
vim in normal mode:
[移動游標]
move {up, down, left, right}: {j, k, h, l }
move to next word {start, end}: {w, e }
move to next word $n times: $n + {w, e }
1. float, double差別?
2. call by reference 安全性?
3.何將兩個超過long長度的數字相加
4.fenwick, native, prefix number tree
merge sort演算法使用Divide & conquer概念,
是將一個數列用二分法不斷拆分成更小的子數列直到無法在拆分,
接著將最小的子序列排序好後merge回高一層的子數列排列直到全部排序完成.
此排序演算法可以達到O(nlogn)的時間複雜度以及O(n)的複雜度.
概念讓就像玩撲克牌時拿到了一手牌,
1. 安裝qemu
$ sudo apt-get install qemu qemu-kvm
2. 創建一個 qemu的img, 給予8G的虛擬空間
$ qemu-img create linux.img 8G
3. 使用linux image開機
常常看到makefile裡編譯指令帶了一大堆參數
這篇來整理幾個比較常見的compile option
-c : 只編譯(未包含連結)
-o : 生成可執行文件的輸出選項
-I : 指定header檔案放置的路徑