![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础知识
文章平均质量分 96
囧超的世界
初入职场的小菜鸟希望能记录自己的成长
展开
-
线程池的总结
基本的线程池的实现,和 基础组件的源码分析原创 2022-09-16 13:25:50 · 188 阅读 · 1 评论 -
关于锁的哪些事情
总结内容是真的累人啊, 这周打算逼着自己把锁相关的内容整理一下(本人工作一年半功力尚浅,说的不对的地方还望指出会及时更正),一个内容的阐述无外乎是what,why,how?1. what? 什么是锁,锁的种类有哪些? 锁:顾名思义就是用来套住某些东西,供自己使用,别人不能用。 想必大家对多线程不陌生吧,因为是在一个进程下,进程有一些资源是共享的,所以为了保证线程在修改数据的时候遵循逻辑而不会出现异常情况,这时候需要加锁进行控制,保证数据按照逻辑修改,这就是线程锁。 ...原创 2020-11-14 16:49:41 · 240 阅读 · 0 评论 -
叙说mysql,redis,mongodb集群哪些事情-mysql集群
hi,考虑在三,我决定还是写一下自己看到了解到的mysql,redis, mongodb集群的内容,以下基本是理论为主,具体的操作配置,可自行百度! mysql集群的前世今生 mysql 应该说是我们使用最为频繁的数据库,首先我们先介绍一下分库分表的概念: 百度到解释还可以话:数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台...原创 2020-10-30 17:08:15 · 320 阅读 · 1 评论 -
C++中typeid的用法
转载:https://blog.csdn.net/zkybeck_ck/article/details/51762541 typeid是C++的关键字之一,等同于sizeof这类的操作符。typeid操作符的返回结果是名为type_info的标准库类型的对象的引用如果表达式的类型是类类型且至少包含有一个虚函数,则typeid操作符返回表达式的动态类型,需要在运行时计算;否则,typei...转载 2018-07-24 09:28:51 · 486 阅读 · 0 评论 -
前置++和后置++的区别
转自:https://blog.csdn.net/randyjiawenjie/article/details/6747720前置++和后置++的区别 int a = 0; ++ a; //前置++ a++; //后置++ 《C专家编程》中有如下描述(P276,人民邮电出版社):++a表示取a的地址,增加它的内容,然后把值放在寄存器中;a++表示取a的地址...转载 2018-07-24 09:19:47 · 1861 阅读 · 1 评论 -
error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such 。。。
问题:[root@wwc d0709]# ldd ./te linux-gate.so.1 => (0x00606000) libevent-2.0.so.5 => not found libc.so.6 => /lib/libc.so.6 (0x00a43000) /lib/ld-linux.so.2 (0x00a20...原创 2018-07-09 09:14:14 · 1040 阅读 · 0 评论 -
关于c++中引用的说明
//引用总是指向初始化时被指定的对象,以后不能改变,但是指定的对象内容可以改变#include <iostream>int main(){ int a=1; int &b=a; std::cout<<b<<std::endl;//1 std::cout<<a<<std::endl;//1 int c=8; b=c...原创 2018-06-14 22:00:52 · 271 阅读 · 0 评论 -
编写动态链接库的时候会出现无法解析的外部符号
错误1error LNK2019: 无法解析的外部符号 _cltSocketDestory,该符号在函数 _main 中被引用在动态库编辑的文件中添加#ifdef __cplusplusextern "C" {#endif__declspec(dllexport)int cltSocketInit(void **handle /*out*/) { printf("cltSocketInit() ...原创 2018-06-06 15:23:05 · 3034 阅读 · 0 评论 -
C 库函数 - qsort()
转自http://www.runoob.com/cprogramming/c-function-qsort.html点击打开链接描述C 库函数 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) 对数组进行排序。声明下面是 qsort() 函数的声明。void qs...转载 2018-05-21 21:30:24 · 206 阅读 · 0 评论 -
sprintf用法
转自http://www.cnblogs.com/yuandongtao1989/p/6692846.html点击打开链接sprintf(string,"%f",num);string是一个字符串,num是你要的数字,这样就能将浮点数num转成字符串string了,你那个写法是错的,后面还有对指针进行运算也是不对的。char s[20];int a=10;sprintf(s,"%d.jpg",a)...转载 2018-05-21 21:28:59 · 6190 阅读 · 0 评论 -
创建DLL函数及其使用DLL
如果想要导出一个全局函数,就用关键字来声明_declspec(dllexport)注意:这是vc自己特有的关键字,在linux下不可用。_declspec(dllexport) int Add(int a,int b){ return a+b;}配置生成my.dll和my.lib文件新建一个空的控制台项目APP在main.cpp中#pragma comment(lib,"my.lib")//使用...原创 2018-05-05 15:19:28 · 360 阅读 · 0 评论 -
vector的reserve和resize
转载连接:点击打开链接vector 的reserve增加了vector的capacity,但是它的size没有改变!而resize改变了vector的capacity同时也增加了它的size!原因如下: reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素。加入新的元素时,要调用push_back()/inser转载 2018-04-13 14:49:28 · 97 阅读 · 0 评论 -
关于std::vector::at 和 std::vector::operator[]
at()总是做边界检查,下标运算符(operator[] )不做边界检查。解析(详情参看 《C++ Primer》(第5版) P310 ”下标操作和安全的随机访问“): 提供快速随机访问的容器(如:string、vector、deque 和 array)也都提供下标运算符(operator [ ])。 一、下标运算符接受一个下标参数,返回转载 2018-04-13 14:29:02 · 655 阅读 · 0 评论 -
matlab中size()函数的用法
size():获取矩阵的行数和列数(1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。(2)[r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。(3)size(A,n)如果在size函数的输入参数中再添加一...转载 2018-04-16 10:22:35 · 579 阅读 · 0 评论 -
C/C++ strlen(str)和str.length()和str.size()的区别
转载:https://blog.csdn.net/hannea/article/details/25102727strlen(str)和str.length()和str.size()都可以求字符串长度,返回字符串中字符的长度,不包括‘/0’。其中str.length()和str.size()是同义词,返回同样的值。strlen(str)是用于求字符数组的长度,其参数是char*。[cpp] vie...转载 2018-04-15 16:00:34 · 19174 阅读 · 1 评论