以下內容純屬虛構,由本人的潛意識創作,如有雷同純屬巧合。
2/6/2024這裡整理幾種 C++ 專案常見的處理仰賴函式庫的模式(或是工具)。 Copy/Paste Source 最簡單暴力的方式,把仰賴函式庫的 source 跟 header 直接複製到專案的資料夾下,直接編譯進去專案本身。舉例來說 fogleman/Craft 是屬於這類。 Native CMake 在 CMake 中有個指令 find_library 允許在專案的 config 階段先偵測環境中是否有指定的函式庫,找不到的話就會拋出錯誤。這種專案配置將安裝仰賴函式庫責任交給 host 本身,通常專案的 build guild 會寫著 「先執行 sudo apt install ....」之類的。舉例來說 LibreSprite 是屬於這類。 Git 利用 Git 的 submodule 功能,把其他 repository 參考到專案中。舉例來說 Cuberite 是屬於這類。
4/13/2023前情提要 最近 (2022-11-06) 從天上掉下來的一台 3DS (?) 老實說對於一般過時 N 年的消費性電子產品,我是完全沒興趣多花時間去玩它,根據以往的經驗,hack 這種東西多半吃力不討好;花費大量的時間也只能獲得相對於現代設備少得可憐的算力。 不過個人對於這種「有機械輸入的橫式手持行動裝置」有著莫名憧憬,隨手搜尋看看刷機的資料,發現資源蠻多的,教學也很詳細,就想著來刷刷看。 閃亮亮症候群再次發作 跟朋友表示想在 3DS 上刷 Linux 之後,「工程師的成就清單」的話題就這樣被打開了,對話中除了提 「在非常見或非通用功能電腦上安裝 Linux」還提到了「在非常見的顯示器上播放 Bad Apple」。 過幾天 (2022-11-09),我便利用下班之餘試著在 3DS 上刷 Linux。刷機的第一部就是透過系統漏洞刷入 CFW (Custom firmware),讓 3DS 能夠從 SD Card 讀取 bootloader 開機,因為教學很詳細,照著步驟做沒有花太多時間就成功刷機了,當中有些教學性質的步驟也讓我看了 3DS Linux 的頁面之後就知道大概要做什麼,也成功的在 3DS 上進入 Linux 了。
11/22/2022在原生的 Minecraft 環境中要實現工業化必須仰賴紅石電路,但是紅石作為 Minecraft 標誌性的遊戲機制,單純「參考」的話很容易被看出原始出處而帶來不必要的爭議,為了能在自製的 Voxel 世界中再現工業化的遊戲機制,必須尋找另外一種類似於紅石但是不同的遊戲機制。 圖靈完備 「類似於紅石電路的遊戲機制」這樣的描述似乎不夠精確,準確的來說應該是創造一個圖靈完備的邏輯系統並存在於 Voxel 世界中,但是這就必須先介紹什麼是圖靈完備。 要解釋圖靈完備就要先介紹「圖靈機」,它是一台抽象化的計算機,就像薛丁格的貓一樣是思考層面的上的東西並不具有實體,它的描述是這樣的^turing-machine: 一條無限長的紙帶(tape),紙帶被分成一個個相鄰的格子(square),每個格子都可以寫上至多一個字符(symbol)。 一個字符表(alphabet),即字符的集合,它包含紙帶上可能出現的所有字符。其中包含一個特殊的空白字符(blank),意思是此格子沒有任何字符。 一個讀寫頭(head),可理解為指向其中一個格子的指針。它可以讀取/擦除/寫入當前格子的內容,此外也可以每次向左/右移動一個格子。
1/2/2022or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up