[C/C++] enum to string 的方法實作 (X Macro)
相信很多人很多時候都會想要把 enum 列舉的數值轉換成 string,方便寫出檔案或顯示到 UI 上,這種轉換的方法在很多高階語言,例如 C#、Java 等都有方法直接支援,但是 C/C++ 就沒這麼方便了。以下介紹幾種在 C++ 實作 enum 轉 string 的方法。
相信很多人很多時候都會想要把 enum 列舉的數值轉換成 string,方便寫出檔案或顯示到 UI 上,這種轉換的方法在很多高階語言,例如 C#、Java 等都有方法直接支援,但是 C/C++ 就沒這麼方便了。以下介紹幾種在 C++ 實作 enum 轉 string 的方法。
最近在看 Linux NFS 相關的程式碼,趁還有點記憶的時候來筆記一下,這篇主要筆記 NFS filehandle 的運作機制。
因為 Chrome 記憶體吃太兇的關係,最近我改用 Firefox 瀏覽器了,用起來很順的但一直有一個問題:Firefox 似乎會吃 Ubuntu gtk theme 的顏色。這導致某些網站的文字框或下拉式選單會變成暗色,看起來很奇怪,甚至會造成瀏覽障礙,這篇筆記如何複寫 Firefox 套用到的主題顏色。
我覺得現在的版本控制主流已經是 git 了,但有一些 Open Source 專案的版本控制會選擇用 Mercurial (hg),這兩個版本控制系統有著不少相似的地方,都是不錯的工具。這篇主要教學如何將 hg 的專案移轉到 github 上,並保留所有的 commit 紀錄。
剛換到 Ubuntu 時最不習慣的就是 Ubuntu 的注音輸入法了,經過了一段時間的研究,找到了 Hime 輸入系統的詞音輸入法,用起來最接近 Windows 的微軟注音,以下介紹在 Ubuntu 18.04 中如何安裝及設定 Hime 輸入法,Ubuntu 16.04 的設定方式也是類似的。
如果 Ubuntu 安裝成中文版的話,家目錄 (home) 內的資料夾名稱也會安裝成中文的,例如「桌面」、「下載」之類的,但對於經常使用 terminal 的使用者來說,要在中英文之間切換很麻煩,以下教學如何將這些目錄的名稱無痛轉換為英文。