原创 C++ 虛函數表解析

前言   C++中的虛函數的作用主要是實現了多態的機制。關於多態,簡而言之就是用父類型別的指針指向其子類的實例,然後通過父類的指針調用實際子類的成員函數。這種技術可以讓父類的指針有“多種形態”,這是一種泛型技術。所謂泛型技術,說白了就是試

原创 二分法和牛頓迭代法求平方根(Python實現)

求一個數的平方根函數sqrt(int num) ,在大多數語言中都提供實現。那麼要求一個數的平方根,是怎麼實現的呢? 實際上求平方根的算法方法主要有兩種:二分法(binary search)和牛頓迭代法(Newton iteration)

原创 關於Python生成器(Generator的yield、next、send)

習慣了C++和Java等強類型的語言,函數調用都是順序執行的,返回之後棧清空,不留痕跡。初次遇到Python生成器,理解起來,真是破費周章。 關於Python生成器,大概需要關心的主要是yield關鍵字,以及其後的next和send函數

原创 xv6進程調度代碼

最近在研究libco,看到協程切換運行,於是想到很早之前看的xv6,於是翻了一下代碼,看看進程調度,以及上下文切換的部分,懷念那段擼OS的日子 // Per-CPU process scheduler. // Each CPU ca