libc关于mem*的实现
自己手写代码应该是拍马都赶不上lib里的了,都用linux下x86的实现来看看. 实际上这些mem相关的操作,在现代cpu上都有rep ***这种指令。 memcpy 实现32和64的分离了,最后还是一套,代码在arch/x86/lib/memcpy_64.S和arch/x86/lib/memcpy_32.S里 // SPDX-License-Identifier: GPL-2.0 ...
自己手写代码应该是拍马都赶不上lib里的了,都用linux下x86的实现来看看. 实际上这些mem相关的操作,在现代cpu上都有rep ***这种指令。 memcpy 实现32和64的分离了,最后还是一套,代码在arch/x86/lib/memcpy_64.S和arch/x86/lib/memcpy_32.S里 // SPDX-License-Identifier: GPL-2.0 ...
描述一下删除文件可能遇到的错误场景 最常见的情况就是文件属性问题,比如权限不够,或者文件被保护之类的 lsattr -a <file> chattr -R -a -i <file> rm -rf <file> 用lsattr看文件属性,常见的描述 a - append only c - compressed d - no dump e - e...
muduo的tcpclient属于tcp connection + connector的组合使用封装 首先看到构造tcpclient,然后connection,有connected回调之后就可以关注业务逻辑了、 构造 TcpClient::TcpClient(EventLoop* loop, const InetAddress& ser...
One Billion Row Challenge in Golang - From 95s to 1.96s One Billion Row Challenge in Golang - From 95s to 1.96s 程序员阅读清单:我喜欢的 100 篇技术文章 程序员阅读清单:我喜欢的 100 篇技术文章(1-20) 程序员阅读清单:我喜欢的 100 篇技术文...
android studio在国内安装插件的时候遇到网速慢的问题,可以配置代理 在Settings->Appearance & Behavior->System Settings->HTTP Proxy中配置代理 自己如果有http代理的话就manual配置,如果没有的话可以考虑用aliyun或者腾讯的代理网址 下面两个任选一个就可以 https://mir...
dump文件是一个进程运行时的内存快照, 通常是在进程崩溃时生成的. 各平台的dump文件格式不尽相同,但是一般都包含产生的signal, 寄存器的值, 线程的堆栈信息等. 本文主要讨论如何解析这些信息. 目前存在4大主流平台的crash dump windows, *.dmp mac/ios, *.crash android, crash和ANR是分开存储的 linu...
tcp的server跟client的逻辑不尽相似, 但是最下层的都是tcp connection tcp connection 先简单看一下构造 TcpConnection::TcpConnection(EventLoop* loop, const string& nameArg, ...
主要就三个工具,全部都是免费的 1. Rufus rufus 2. Etcher etcher 这个有图形界面 3. Ventoy Ventoy 这个可以不断的往U盘里面添加ISO文件,然后就可以选择启动了
定长滑动窗口问题其实有一个大的for模板 for (int i = 0;i < n;++i) { // 1. 进入窗口 if (i < k - 1) continue; // 2. 更新答案 // 3. 离开窗口 } 可以做题试试就知道了 大小为 K 且平均值大于等于阈值的子数组数目 1317 这部分中,有一个很经典的问题可以转换为k长度的滑动窗口,比如...
epoll惊群问题 再谈 Linux epoll 惊群问题的原因和解决方案 深入浅出 Linux 惊群:现象、原因和解决方案 这个好 dog250’s blog 模板元编程初探 Simple C++11 metaprogramming Simple C++11 metaprogramming, part 2 CSS t...