?2020年9月28日
1,使用基類繼承的機制,調用寫好的函數接口?
1,不要 使用Content(封裝數據,本質是一個json字符串),1,因為每次使用這個需要對里面的內容進行序列化,轉化成對應的二進制字符序列,這個過程比較繁瑣。?這會使用到多次memorycopy、strcopy多余的事情,仿造softsm里面的結構。構造一個object的基類,包含read、save等基本函數,比如調用save的時候就可以把你的序列化流直接寫入。
參考內容
- ObjectStore是一個具體到orm之上具體到存儲的一個結構,其下面就是和SQLLite相關的東西了,主要實現持久化那一塊內容,不需要考慮磁盤,僅僅涉及到內存操作。具體操作:1,get 根據索引拿到? ?2,增加,? 3,刪除
- 基類繼承機制,對于新創建的類進行修改操作變得簡單。利用成員變量和成員方法,以及利用構造、析構函數,可以實現在函數之前、退出之后執行對應的內容。?
從數據庫sqllite 秘鑰存儲,添加、讀取、? 刪除走通。
2,使用C++的異常返回機制。不要用返回值,不要使用goto、free函數。
- OO是指面向對象。
- 將面向過程轉化為面向對象
- 流程圖轉化為類圖
- 把
ObjectStore這個結構實現就差不多了
2020年10月08日
具體問題
- 軟硬件協同,比如硬件會創建4個通道(地址),調用每個地址都可以進行隨機數的生成,使用線程池的思路,每次調用空閑的線程,整體結構類似于生產者和消費者的形式。
- pcie_init()函數,是昆明寫好的隨機函數里面的一部分,具體的異常處理也要寫在昆明的函數里面,而不是簡簡單單捕獲pcie_init()函數異常,這個異常最好每一層都會有一個輸出,而且可以跨層傳播。
- 錯誤碼分為兩類:第一種是sdf自帶的,先前已經存在了,可以直接沿用;第二類是繼承Exception函數,自己派生一個自己定義的Exception函數,自己定義對應的錯誤碼。
- 鎖機制 面向對象,此處需要考慮軟硬件協同,先前曾使用過多核解決的方案,可以參考
- 將string* 轉string 可以參考STL實現代碼
- 函數的代碼邏輯是判斷硬件資源是否可用,如果可用,通過輸入的length,輸出緩沖數據bufffer。
解決措施
- 將代碼整體結構由C語言的類型轉化為C++的類型,具體應該體現在構造函數、析構函數、以及將成員變量聲明成public、protected、private的類型。
- 將unsigned char* 轉string 可以參考STL實現代碼
- 需要考慮到異常處理機制
- 參考大佬其余代碼的具體書寫規范和邏輯
補充
- 具體處理邏輯如下圖所示
?
?
?