C++程式設計日誌(第一週)
我對C++的瞭解並不多,在大學期間也就接觸了一些C的基本語法和簡單使用,並且通常都是為了應試而學的,地基有些不穩,出於對畢業後工作的需要,我不得不加深我對C++的認知和理解,我最近一直試圖寫一個完整的指令碼執行器,在我的設想中,這是一個簡單的命令解釋執行程式,在下文我會詳細的說明它的原理和應用,我計劃將其作為一個開源軟體釋出,原始碼會在完成後某個時刻釋出到GitHub
你可以跟蹤此部落格以檢視進度,我會每週至少更新三篇(不出意外情況),當然也歡迎關注我正在開發的個人部落格:http://www.xn--ciux7gev9b.top/
我的程式設計習慣是先確立一個明確的目標,然後進行分析,大概的確定要用到什麼功能,然後去找相應的函式,我稱這叫做“廟算”。我很在意註釋,當然我也很關心程式碼的整潔和整齊,可能我多少有一些程式碼潔癖吧,但至少我喜歡看到一目瞭然的程式碼,我會使用英文來定義函式,一般的,類的首字母是大寫的,而普通函式和變數則是小寫,這可能是我寫C語言的習慣了吧。
一.為什麼要做這個專案:
我幾個月前寫了一個非常簡單的資料核心(AirCore),可惜沒人注意到這個專案,我自己非常清楚,這種資料系統的重點在於應用,因此我一直在探索如何將它融入到其他的軟體專案中去,不久前,我完全推翻原有的C++ MFC架構,完全採用C語言設計,並且採用動態連結庫的方式連線到其他程式中,目前我還不準備開放它的原始碼,至少要等到我整理完註釋。這個軟體核心功能仍然引用Air Core 1.0.1測試版本,如果有需要請先研究該軟體。
我之前一直試圖在我老家部署智慧農業物聯網,我通過Arduino和樹莓派來控制繼電器和其他的各種裝置,我絕大多數軟體程式設計和除錯都是在學校完成的,濟南的高校凡是使用電信寬頻的,逃不過一個Netkeeper來連結網路,但是宿舍的路由器無法直接連結到網際網路,我只能使用諸如共享大師的軟體來擴充套件無線網路,然後用SSH連結樹莓派。但是我很不喜歡這個過程,我希望每天開啟電腦,它可以自動的幫我完成這一切,比如自動連結網路,並且自動開啟Putty,連結樹莓派。我希望這個軟體隨機啟動,並且儘可能小的佔用計算機資源,但可以儘可能快的執行操作,不要讓我等太久。
也是不久前我偶爾重新安裝了Chrome,一個名叫Tampermonkey的外掛引起了我的注意,這是一個很久前我安裝到瀏覽器中的外掛,它可以幫我去掉很多網站的各種廣告,但這不是重點,重點在於它採用指令碼語言的方式來實現各種各樣的功能。我就此產生了編寫一個運行於Windows上的自動處理軟體,特別是幫助一些不擅長計算機的人遠端維修一些錯誤,這樣我就不需要讓他瘋狂截圖了。
我把這個軟體稱為ADS(自動執行指令碼),潛心寫了三天後,我用E寫了一個概念版,當然其BUG多到我根本沒有維護的必要,並且其執行速度堪憂,開始直接被Defender作為木馬乾掉了,因此我決定使用C++再寫一遍。
二.基本原理和實現
我習慣使用XMind來整理思路,基本上每一個軟體必備的就是程式設計文件,思維導圖。以下附上思維導圖的預覽截圖:
引用
《自然主義哲學》
《普適主義哲學》
《模型資料庫概論》
《Air Core設計文件》