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实现代码
- 需要考虑到异常处理机制
- 参考大佬其余代码的具体书写规范和逻辑
补充
- 具体处理逻辑如下图所示