AssemblyForNeovim 是開發者 0xdeadf1sh 用 Lua 寫成的 Neovim 外掛,讓使用者編輯 C、C++、Rust 原始碼時,不用離開編輯器就能看到對應的組合語言輸出,功能類似線上工具 Compiler Explorer,解決反覆切換視窗比對組合語言的麻煩。
它的做法是在 Neovim 開一個浮動視窗,把選取的函式或程式碼丟給系統上的編譯器即時編譯,顯示產生的組合語言,支援 x64 與 aarch64。視窗裡可用加號減號調整最佳化等級、按 R 重新編譯、按 q 關閉,若專案有 compile_commands.json 會自動讀取設定。
這個專案以 Show HN 的形式發佈在 Hacker News 上,目前在 GitHub 已累積 139 顆星,顯示不少開發者對這類編輯器內直接看組合語言的工具感興趣,授權方式是幾乎不設限制的 Unlicense,任何人都能自由使用與修改。
對正在學程式的孩子來說,組合語言和編譯最佳化是偏進階的主題,不是初學階段需要碰的東西;但這個專案示範了一個很實際的開源精神:看到自己每天工作中不方便的地方,就動手寫一個小工具解決,這種為自己需求做工具的習慣,比學會某個特定語法更值得培養。
開源開發工具程式語言