- 博客(710)
- 资源 (38)
- 收藏
- 关注
原创 Linux c++开发-14-IO复用
在select这种I/O多路复用机制下,我们需要把想监控的文件描述集合通过函数参数的形式告诉select,然后select会将这些文件描述符集合拷贝到内核中,我们知道数据拷贝是有性能损耗的,因此为了减少这种数据拷贝带来的性能损耗,Linux内核对集合的大小做了限制,并规定用户监控的文件描述集合不能超过1024个,同时当select返回后我们仅仅能知道有些文件描述符可以读写了,但是我们不知道是哪一个,因此程序员必须再遍历一边找到具体是哪个文件描述符可以读写了。第三个文件描述符可以读写了吗?
2023-12-25 15:38:31 603
原创 Linux c++开发-06-使用Linux API 进行文件的读写
先用open接口去打开文件,flag表示打开文件的权限不同。先简单的介绍一下open,read,write。
2023-12-17 15:07:02 380
原创 Linux解压缩
命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名。命令格式:tar -zxvf 压缩文件名.tar.gz。Linux下*.tar.gz文件解压缩命令。解压缩后的文件只能放在当前的目录。
2023-11-15 13:42:10 83
原创 若要对多态类进行深拷贝,应使用虚函数的clone,而不是公开的拷贝构造赋值
拷贝一个多态类可能会导致切片问题,为了解决这个问题,应覆盖一个虚clone函数,让他根据实际类型进行复制并返回一个到新对象的所有权的指针(std::unique_ptr),在派生类,通过使用所谓的协变返回类型来返回派生类型。
2023-10-18 22:35:51 165
原创 关于string的一些测试
从运行结果可以看出第一种方式最耗时,至于它的原因:result = result + str[i];是对象的拷贝而非移动,导致反复分配,释放内存和无畏地进行字符串复制。
2023-09-20 00:45:46 225
原创 CPU的三级缓存
CPU缓存有三类,一级缓存(一级缓存虽然速度最快,但容量最小,单位都是KB,不同CPU之间一级缓存没有差距,所以现在不怎么提了),二级缓存(二级缓存容量也不大,基本都是个位数MB,除了一些服务器CPU会有10几MB之外,现在CPU也不怎么提二级缓存),三级缓存。L3读写速度比内存快得多得多。因为CPU运算速度太快了,光靠内存读写完全跟不上,而CPU缓存的数据交换比内存快多了,大部分时候CPU可以直接从缓存读取数据,找不到的话再从内存读取,这样可以节省CPU读取内存数据时浪费的时间。
2023-09-16 00:38:13 1436
原创 智能指针使用注意点
weak_ptr可以从一个shared_ptr或者另一个weak_ptr对象构造,获得资源的观测权。使用weak_ptr的成员函数use_count()可以观测资源的引用计数,另一个成员函数expired()的功能等价于use_count()==0,但更快。表示被观测的资源(也就是shared_ptr的管理的资源)已经不复存在。参考链接:https://blog.csdn.net/sinat_31608641/article/details/107702175。
2023-09-14 00:52:56 104
原创 Linux c++开发-04-让Hello World更像一个工程
src中的CMakeLists.txt。外层CMakeLists.txt。然后 cd build。
2023-09-06 00:41:56 216
mysql+connetcot.txt
2019-12-29
30岁的程序员如何防脱
2023-10-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人