加密機組會 會議紀要

?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實現代碼
  • 需要考慮到異常處理機制
  • 參考大佬其余代碼的具體書寫規范和邏輯

補充

  • 具體處理邏輯如下圖所示

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447066.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447066.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447066.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c++為什么沒有垃圾回收

垃圾回收 內存清理的另一個方面是垃圾回收。在支持垃圾回收的環境中,程序員幾乎不必顯式地釋放與對象關聯的 內存。運行時庫會在某時刻自動清理沒有任何引用的對象。 與C#和Java不一樣,在C語言中沒有內建垃圾回收。在現代C中,使用智能指針管理…

C++ Vecctor容器淺析

Vector的定義 向量(Vector)是一個封裝了動態大小數組的順序容器(Sequence Container)。跟任意其它類型容器一樣,它能夠存放各種類型的對象。可以簡單的認為,向量是一個能夠存放任意類型的動態數組。vector…

C++primer第二章2.4節對于const限定符相關內容進行詳解

const限定符 const對象一旦創建后其數值就不會被再次改變,因此const對象必須初始化。const對象只在文件中有效在不同的文件中使用不同的const來定義不同的常量,那么每個文件定義的變量只會在自己所屬的文件中有效。如果想讓多個文件共享同一個const變量…

二分法的常見問題

mid(leftright)/2; mid (high - low) / 2 low; 這樣寫可以防止left right溢出 ,不過數足夠大是時候該溢還是溢 為什么要取右邊中間數呢?這是因為在區間里 只有 2 個元素的時候,把[left…right]劃分成[left…mid - 1]和[mid…right]這兩個區間&#x…

演示IPFS的一個完整的流程以及針對部分概念的詳解

整體的流程 1,創建ipfs節點 通過ipfs init在本地計算機建立一個IPFS節點本文有些命令已經執行過了,就沒有重新初始化。部分圖片拷貝自先前文檔,具體信息應以實物為準 $ ipfs init initializing IPFS node at /Users/CHY/.ipfs generating 2…

c++ 算法的時間復雜度

一般ACM或者筆試題的時間限制是1秒或2秒。 在這種情況下&#xff0c;C代碼中的操作次數控制在 10^7為最佳。 下面給出在不同數據范國下&#xff0c;代碼的時間復雜度和算法該如何選擇&#xff1a; 1.n≤ 30,指數級別&#xff0c;dis剪枝&#xff0c;狀態壓縮dp 2.n < 100 &g…

簡單工廠模式實現計算器

#include <iostream> #include <vector> #include <string> #include <iostream> #include <map> using namespace std; #define __THROW_ZERO do {cerr << "The dividend is 0" << endl; exit(1);}while(0);/* 簡單工廠處…

TDengine安裝教程

TDengine安裝教程 前言 TDengine的安裝十分簡單&#xff0c;可以有以下三種安裝方式&#xff0c;源碼安裝、通過Docker容器進行安裝、通過安裝包進行安裝。但是使用源碼安裝較為復雜&#xff0c;通過docker的方式最為簡單&#xff0c;但是需要一定docker相關的知識&#xff0…

C++中size_t的學習

size_t的定義 size_t是一種數據相關的無符號類型&#xff0c;它被設計得足夠大以便能夠存儲內存中任意對象的大小。設計 size_t 就是為了適應多個平臺&#xff0c;size_t等效于unsigned short int 或者 unsigned long int 類型&#xff0c;這個過程是動態匹配的。在需要通過數…

策略模式解決商店打折問題

#include <bits/stdc.h> using namespace std; /*策略模式解決商店打折問題*/class Cashsuper { private:/* data */ public:virtual double addcash(double cash) 0;double Getresult(double money){return addcash(money);} };class Cashnormal : public Cashsuper {p…

android 軟件首次運行時引導頁左右滑動效果

很多手機軟件在安裝后首次運行都會進入到引導頁面&#xff0c;再次運行時會進入到主頁面。 多了不說了&#xff0c;先看效果圖&#xff1a; 代碼如下&#xff1a; main.xml <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:an…

C++中size_type類型詳解

介紹 是和string類類型和vector類類型定義相關的類型&#xff0c;用以保存任意string對象或vector對象的長度&#xff0c;標準庫類型將size_type定義為unsigned類型string抽象意義是字符串&#xff0c; size&#xff08;&#xff09;的抽象意義是字符串的尺寸&#xff0c; str…

單一職責原則 實現貪吃蛇代碼的封裝

單一職責原則(SRP),就一個類而言&#xff0c;應該僅有一個引起它 變化的原因。 一個c語言的貪吃蛇代碼 如何使用單一職責原則封裝成c面向對象呢 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> #include <wi…

android ProgressBar實現掃描SD卡文件 + SimpleAdapter綁定ListView

代碼 activity_main.xml <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"android:layout_height"match_parent"to…

C++標準庫函數begin和end函數

主要的目的 為了讓指針更加簡單、安全&#xff0c;引入了begin和end函數&#xff0c;這兩個函數和容器中兩個同名的成員函數類似。但是由于數組畢竟不是類類型&#xff0c;因此這兩個函數不是成員函數。正確的使用形式就是將數組作為他們的參數int ia[] {0,1,2,3,4,5,6,7,8,9…

dex分包之--------multidex包的配置使用

目錄&#xff1a;一、前言二、產生原因三、MultiDex的簡要原理四、MultiDex的使用 一、前言 首先說一下我遇到的情況&#xff0c;最近接手了一個項目是在已有的項目里進行更新添加一些功能&#xff0c;然后該項目導了N多的包&#xff0c;在我使用Android Studio的run”App”直…

C++ primer第六章函數的學習

介紹 首先介紹函數的定義和聲明&#xff0c;包括如何傳入參數以及函數如何返回結果。C語言允許使用重載函數&#xff0c;即幾個不同的函數可以使用向同一個名字。所以接下來介紹重載函數的方法&#xff0c;以及編譯器選擇如何從函數的若干重載的形式中選取一個與調用模板相互匹…

C語言指針作為函數參數 以及智能指針作為函數參數

總所周知指針作為函數參數傳遞的時候 傳遞的是指針的拷貝&#xff08;指針也是變量&#xff09; 這里提供四種指針的傳遞方法 改到實際的指針。 #include <stdio.h> #include <memory> #include <iostream> using namespace std; void test1(char **string)…

Android Studio打包和引用aar

一、簡介 Android 庫在結構上與 Android 應用模塊相同。它可以提供構建應用所需的一切內容&#xff0c;包括源代碼、資源文件和 Android 清單。不過&#xff0c;Android 庫將編譯到您可以用作 Android 應用模塊依賴項的 Android 歸檔 (AAR) 文件&#xff0c;而不是在設備上運行…