一些基础概念
[TOC] 专业技术名词 Redis Redis(Remote Dictionary Server)是一个开源的使用ANSI C语言编写、支持网络、基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted set...
[TOC] 专业技术名词 Redis Redis(Remote Dictionary Server)是一个开源的使用ANSI C语言编写、支持网络、基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted set...
[TOC] 关系型 / 非关系型数据库 关系型数据库(RDBMS)和非关系型数据库(NoSQL)是两种不同类型的数据存储系统,它们在数据模型、存储方式、查询语言和应用场景等方面有很多不同之处。1 关系型数据库(RDBMS) 定义: 关系型数据库使用表格(tables)来存储数据,这些表格之间通过关系(如外键)进行关联。 数据被组织成行(records)和列(fields)...
[TOC] 动态加载dll并调用接口 有一个简单 cmd.cpp,内部代码如下: #include <iostream> #include <windows.h> extern "C" __declspec(dllexport) int MyFunc(int a, int b) { return a + b; } 现要将该 cmd.cpp 编译为一个...
[TOC] 成员变量的引用声明 在C++中,声明一个整数引用m_nID并将其初始化为vector<int>容器中第一个元素的引用是合理的,但这里有一些潜在的问题和注意事项:1 生命周期问题:引用m_nID直接依赖于m_vecInfo[0]的生命周期。如果在向m_vecInfo添加任何元素之前尝试使用m_nID,将会导致未定义行为,因为此时m_vecInfo[0]是不存...
[TOC] 以下是通过命令行编译一个简单 cpp(例如1中的 cmd.cpp) 的方法: 1. vs命令行 + cl 编译 cl 编译器:2 MSVC(Microsoft Visual C++)是微软提供的C++编译器,cl 是MSVC编译器的命令行界面工具,是 Microsoft Visual Studio 集成开发环境的一部分。专门用于编译和链接 Microsoft W...
[TOC] 一、is-a 和 has-a 这两者远比看上去的要复杂。 首先明确一下两者的区别: 继承:is-a 关联:has-a 聚合:has-a(整体和部分可以分开,比如电脑和CPU、猫和动物) 组合:has-a(整体和部分不可以分开,比如公司和部门,没有公司,部门就不能存在) 举一个实际遇到的例子: 现在的 PlanManager 项目中,tpDet...
[TOC] 1. OpenSSL 1.1 OpenSSL简介 OpenSSL 是一个用于加密和安全连接的开源软件库。它提供了一系列的加密算法、密码学功能和安全协议的实现,包括 SSL(Secure Sockets Layer)和 TLS(Transport Layer Security)等用于网络安全的协议。OpenSSL 可以帮助开发人员在他们的应用程序中实现数据加密、数字证书的管理、...
[TOC] 1. 文前 刚刚入职的时候,我们所有项目都是“使用多字节字符集”的,当时负责的内容也是在比较独立的库内,不涉及到接口相关的东宫西,所以入职一年的时间里,我对字符串和字符集编码的相关知识都是比较模糊的,仅仅停留在“能跑就行”的阶段。 后来在组内负责的内容更多了,开始编写一些接口函数、导出函数和回调函数等等,也遇到了 CString 类型、LRCSTR 类型跨库调用时返回乱码的...
[TOC] 各种算法的比较 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:1 快速排序 快速排序由东尼·霍尔在1960年提出。它的基本思想是“分治法”(Divide and Conquer)。 快速排序的平均时间复杂度为 $O(n \log_2 n)$,在最坏的情况下(例如,当输入数组已经是正序或逆序时)时间...
mt与md格式的区别 mt mt的dll对于编程格式是更严格的,就比如说mt库是不允许类导出的(这里指的是纯类导出,而非纯虚类)。 此外,Windows系统中能同时加载的mt的dll个数也是有限制的,在Win10的某个系统前,是限制为仅能加载100多个,超出此限制后,若还有其他程序需要加载dll,就会提示加载失败,这也就是PKPM结构软件中1114问题的由来。 md md的dll则没有...