
其他乱七八糟的
Immortal_s
这个作者很懒,什么都没留下…
展开
-
vscode安装配置clang-format
换了台新机器,重新下了vscode之后clang-format不好用了,记录一下。背景我是用windows的vscode用remote-ssh连接到linux下进行代码书写的。安装vscode在远端安装了Clang-Format这个插件在linux下安装clang-formatsudo apt-get install clang-format配置在vscode里面按ctrl+,进入首选项设置,搜索clang-format,找到把刚刚安装的clang-format的执行文件目录填进原创 2020-12-24 15:09:33 · 6420 阅读 · 1 评论 -
map和unordered_map性能对比
最近遇到一个查找对应关系的需求,第一时间想到map,但是千万级的数据,于是使用了unordered_map。时间降低了3倍左右。但是偶然看见网上有有人说手撸一个hashmap,最基本的链式的,都要比unordered_map要快,于是试了一下。发现STL写的还挺有意思的。写说下和STL的对比。手撸hashmapSTL-unordered_map底层实现vector&l...原创 2019-12-23 20:20:35 · 2579 阅读 · 0 评论 -
通过基类指针delete,是否会造成内存泄漏
问题描述定义一个基类A,一个子类B继承A,在类B里有个成成员变量int。当我用A的指针指向B类的时候,deleteA的指针问:B里面的成员变量int会被释放么?答:会因为,new和delete并不会记录空间的大小,空间大小是由堆内部管理的。因为A和B的指针指向的同一个地址空间,当deleteA的时候,堆会告诉A它指向的空间的大小(即类B的大小),直接释放整个空间,所以B的成员变量也会被释...原创 2019-11-29 20:45:41 · 708 阅读 · 2 评论 -
执行helloworld时系统内部到底发生了什么
目录0x00 简述0x01 从输入命令到找到文件0x02 程序编译,连接链接静态库链接动态库0x03 打开文件0x04 加载可执行目标文件0x05 执行文件0x06 参考书籍0x00 简述经常被老师灵魂拷问,知道执行helloworld时系统内部到底发生了什么么。终于有时间把相关的东西看了一些,写了点东西做总结。好像条理想并不是那么强,也把好多个概念杂糅起来了,就当做抛砖引玉吧。以此程...原创 2019-10-17 14:52:52 · 456 阅读 · 0 评论 -
git撤销强制回滚
今天偶然在掘金上看到一个Git的神奇操作,自己试了下,感觉挺好玩的就记录一下。先说下问题。问题描述现在有份代码,已经被提交四次,每次一个新功能,log如下现在有一个新手程序员,对这个进行了强制回滚,回滚到了feature-1,命令如下git reset --hard 29ff368导致现在只有feature-1了,从2-4全部消失并且还在这个础上进行了一个新的commit,f...原创 2019-04-23 12:47:59 · 802 阅读 · 0 评论 -
c++乘法运算顺序问题
以前没注意过这个问题,今天写leetcode的时候提交代码总报错,后来才发现了这个问题。int x = -2147483647;long long t;// 这句话会报错t = x * -1;// 改成这样就好了t = x;t *= -1;所以,真正的运算顺序是x先乘-1,把值赋给x,再把x的值赋给t。但是x是int型的,x乘-1就超出上限,所以报错。...原创 2019-05-05 14:40:52 · 1285 阅读 · 0 评论 -
结构体大小无法用strlen算出来
写程序的时候发现了一个奇怪的现象,调了好久。话不多说,先上代码struct Message{ int id; int len;};int main(int argc, const char *argv[]){ int len = sizeof(struct Message) + 128; char *buf = (char *)calloc(len,...原创 2019-05-24 14:53:09 · 824 阅读 · 0 评论 -
PAT-B
刚写完PAT-B的真题,感觉其实并不难,里面对数据结构和算法的要求都比较低,可以说是基本上没有。。。记录一下印象比较深的几个题吧,刚写完肯定是最后一题,有几个PAT印象最深。但是这道题并不难, 只要以A为中继,算出前面有几个P后面有几个T,然后一加就完事了。然后统计同成绩学生那个题,我用的map做的,4ms。然后我看了一眼0ms 的答案,开了三个10W的数组,这可以理解是空间换时间,但是里面有...原创 2019-06-10 19:40:41 · 302 阅读 · 0 评论 -
ubuntu14源码安装qt
环境Docker version 18.06.3-ce, build d7080c1Linux c5e082c17dae 4.4.0-31-generic #50~14.04.1-Ubuntu SMPQMake version 3.0 Using Qt version 5.2.1先说下安装流程 cd <path>/qt-everywhere-opensource-src-&l...原创 2019-08-04 12:02:39 · 714 阅读 · 0 评论 -
ubuntu14源码安装mysql
环境Docker version 18.06.3-ce, build d7080c1Linux c5e082c17dae 4.4.0-31-generic #50~14.04.1-Ubuntu SMPmysql-5.5.62安装流程创建用户groupadd mysqluseradd mysql -g mysql -d /usr/local/mysql -s /bin/sh解压安装...原创 2019-08-04 12:05:11 · 290 阅读 · 0 评论 -
Docker技术支持(nvidia-docker)
是什么,为什么Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。 --来自百度百科是因为目前的后端在开发和运维阶段确实需要一种虚拟化技术解决开发环境和生产环境环境一致的问题。0x00 和虚拟机区别虚拟机是模拟硬件的输入和输出,但是如果宿主机个虚拟机他们的kernel是...原创 2019-08-04 12:13:17 · 491 阅读 · 0 评论 -
cuda_deviceQuery报错35
现在遇到的问题是我在ubuntu1404系统上,CUDA Version 8.0.61NVRM version: NVIDIA UNIX x86_64 Kernel Module 430.40 Sun Jul 21 04:53:48 CDT 2019运行/usr/local/cuda/samples/1_Utilities/deviceQuery/deviceQuery是可以通过的PA...原创 2019-08-04 12:19:08 · 718 阅读 · 4 评论 -
在vscode中使用正则化方式进行替换
直接举例子// 我想把data(node)[i]// 替换成datai(node,i)那么正则化式子应该向下面这样写注意要把右上角的.*开启解析data\((\w+)\)\[(\w+)\]这个正则可以拆分成两部分# 一个是前面data()的部分data\((\w+)\)# 一个是后面[i]的部分\[(\w+)\]那么很容易可以看出如果想要搜索"(“...原创 2019-03-17 21:37:32 · 1430 阅读 · 0 评论 -
关于使用valgrind检测内存泄露的问题
用valgrind检测内存泄露的时候,发现一个问题,就是程序总会报一个泄露点1 blocks are still reachable查了程序发现并没有泄露,最后百度才知道我对内存泄露的知识理解并不全面以前我的理解是,只要分配的内存但是没释放就会导致内存泄露但是这养理解是不全面的。只要分配了内存,如果它的指针没有丢失,那么就不算是泄露所以来说,static的指针或者全局指针,如果没有释放...转载 2019-03-11 12:38:57 · 1073 阅读 · 0 评论 -
KMP算法(研究总结,字符串)
转自博客,原地址:http://www.cnblogs.com/SYCstudio/p/7194315.htmlKMP算法(研究总结,字符串)前段时间学习KMP算法,感觉有些复杂,不过好歹是弄懂啦,简单地记录一下,方便以后自己回忆。引入首先我们来看一个例子,现在有两个字符串A和B,问你在A中是否有B,有几个?为了方便叙述,我们先给定两个字符串的值A=”abcaabababaa”B=”...转载 2018-08-18 19:41:22 · 485 阅读 · 0 评论 -
记录一个写epoll负载发生器时遇到的问题
就是一个负载测试的程序,用epoll写的,然后被测试的回射服务器也是用epoll写的这里假设负载是20个socket连接客户端的操作是一次性把20个连接连上(socket, connect),然后发20个数据,再接20个数据服务器的动作是,循环20次 新增连接(accept)-&gt;接数据-&gt;回射数据当客户端接受到20次数据的时候会把所有的sockfd全close掉,epf...原创 2018-08-16 09:58:39 · 235 阅读 · 0 评论 -
使用七牛云做图床
使用七牛云做图床很久之前就想弄了,结果一直懒,现在才弄好。记录一下过程。其实很简单,在七牛注册认证之后。点击对象存储创建图床注意这里一定要选华东,选别的地方上传图片的时候会报“请求报文格式错误”这个莫名其妙的。创建完成之后就可以在内容管理里面上传文件获取外链了但是这样很麻烦,于是就有了下面的简单操作。chrom插件 qiniu upload fi...原创 2018-08-21 13:33:34 · 3129 阅读 · 0 评论 -
基于epoll的ftp服务器
基于epoll的ftp服务器对比上一个版本,这个版本主要就是把服务器换成了epoll版本,并修复了许多小bug接收到的命令,返回数据,工作目录等都是分用户独立出来的修复上传空文件会导致阻塞在read的情况增加cd错误目录报错修复cd目录深度问题重新修订传输数据报格式解决报错信息收不到问题修复多次传输报错信息的错误然后新的数据包格式如下消息数据报开头是一个si...原创 2018-08-24 15:02:49 · 657 阅读 · 0 评论 -
认真分析mmap
概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间...转载 2018-09-02 13:54:07 · 298 阅读 · 0 评论 -
threadpool版回射服务器
threadpoolthreadpool版的回射服务器想写threadpool,所以就拿这个练练手,超简单,不用多说什么,程序员直接看代码就OK先说下各个文件的作用吧myservere.cpp 服务器端主程序,用于接收connfd,并向线程池中添加任务str_echo.cpp 服务器端回射代码写在这,很简单,直接收到就回射...原创 2018-09-13 18:45:09 · 212 阅读 · 0 评论 -
catch单元测试简明例子
简单研究了下catch,做了一个例子,说下遇到的坑点先说本文重点,遇到一个坑就是SECTION()里面必须写东西,否则编译不通过然后,catch用法从官网下载catch.hpp文件放到你和你想要测试的文件同一目录下编写test文件(c/cc都可)例子1这个文件官网给的例子,是单独在一个文件内的#define CATCH_CONFIG_MAIN // This tells Cat...原创 2018-09-27 21:04:03 · 2061 阅读 · 0 评论 -
vscode连接github
vscode版本1.27.2里面已经自带git功能,不需要另外下载插件鉴于第一次链接github,所以要现在github上面创建一个仓库(用命令或者用图形界面都可以)这里举例子仓库叫test然后需要在gitbash上,或者用vscode的terminal,先cd到自己想要进行git的目录,然后运行git init初始化本地仓库,然后和远程仓库建立联系git remote add or...原创 2018-10-07 17:17:54 · 3340 阅读 · 0 评论 -
glog简明例子
glog的简明例子弄glog的时候遇到一个坑,现在也不知道为什么,记录一下首先说坑在哪,执行的时候出现这个报错Could not create logging file: Not a directoryCOULD NOT CREATE A LOGGINGFILE 20181010-081526.817!而且chmod 777 之后也没用,最后找到原因是我用的是virtualbox...原创 2018-10-10 20:43:27 · 2989 阅读 · 0 评论 -
p2pchating p2p聊天程序
p2pchating学校布置的作业 p2p聊天系统 qt写的界面 C++实现代码简单易懂,没啥好说的先说下实现思路服务器端用的网络编程那一套,加了个多线程,每个新用户上线之后都是一个新进程提供服务。服务器负责维护一个用户信息表,里面有昵称,ip,port,上线时间以及是否在线之类的东西。客户端,启动的时候链接服务器,登录时把用户名发送给服务器,服务器负责做验证,返回登录成功之后进入聊天界...原创 2018-11-10 17:29:46 · 471 阅读 · 0 评论 -
电子科大算法课常用知识点汇总
电子科大算法课常用知识点汇总归约问题3SAT->>独立集哈密顿回路->>TSP子集和->>背包顶点覆盖->>独立集,团贪心算法是最优解的证明过程P问题,NP问题,NPC问题详解动归带权值的区间调度问题定价法 顶点覆盖相关课件和往年试题见网盘归约问题3SAT->>独立集https://blog.youkuaiyun.com/xiazdong/ar...原创 2018-11-08 10:42:47 · 487 阅读 · 0 评论 -
C++ - Syscall param socketcall.recvfrom(buf) points to unaddressable byte(s)
记录一个使用Valgrind时候的小bugrecv(sockfd, buf, MAXLINE, flags)在调用上面代码的时候,编译没错,但用Valgrind检测的时候会报Syscall param socketcall.recvfrom(buf) points to unaddressable byte(s)刚开始我以为是buf没用malloc,后来发现不是这样的,是因为buf m...原创 2019-02-23 21:00:46 · 1523 阅读 · 1 评论 -
makefile小结
能查到的都知道makefile是什么,下面我说下怎么用哈、写在开头makefile中的命令语句必须以一个[Tab]键开头语法格式target: dependencies system command(s)第一行那个target是你想编译成的目标,既 gcc b.c -o target 中的target,后面则是要编译这个target所需要的.o文件先给个例子我的文件...原创 2018-08-09 19:00:08 · 140 阅读 · 0 评论