代码改变世界

随笔档案-2019年02月

C++智能指针

2019-02-06 17:58 by itwolf, 224 阅读, 收藏, 编辑
摘要: 本想总结一下智能指针使用的帖子,但发现别人已经总结的很好了,所以直接收藏了 https://www.cnblogs.com/wxquare/p/4759020.html 阅读全文

makefile

2019-02-06 16:15 by itwolf, 370 阅读, 收藏, 编辑
摘要: makefile 语法: 目标文件:生成目标文件的依赖文件 生成目标文件所需要执行的动作(必须以tab键开头) 常用变量代表的意思: $@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件。 ~--当前用户目录,*所有符号的通配符 常用的查找包含符号:-I 将目标作为第一个寻找头文件的目标 阅读全文

C++ 之虚函数的实现原理

2019-02-06 11:21 by itwolf, 3466 阅读, 收藏, 编辑
摘要: c++的多态使用虚函数实现,通过“晚绑定”,使程序在运行的时候,根据对象的类型去执行对应的虚函数。 C++ 之虚函数的实现原理 带有虚函数的类,编译器会为其额外分配一个虚函数表,里面记录的使虚函数的地址,当此类被继承时,子类如果也写了虚函数就在子类的虚函数表中将父类的函数地址覆盖,否则继承父类的虚函 阅读全文

coredump调试小结

2019-02-06 09:50 by itwolf, 304 阅读, 收藏, 编辑
摘要: 在已经启动的进程中使用gdb,用gdb attach 查看so文件中的函数列表 nm -D *.so 关于c、c++类的gdb调试,强烈推荐一本书:debug hack 阅读全文

正确的调试方法

2019-02-06 09:21 by itwolf, 288 阅读, 收藏, 编辑
摘要: 代码大全中提倡的调试方法和公司中提示的调试方法如出一辙,在此记录: 1、收集数据、稳定环境 2、根据现象和应有的逻辑做出假设 3、假设验证 4、证明或者反证明假说 5、重复上述步骤 如果无思路必须要乱加printf解决,那么一定要给自己个时间上限去做这些事情 阅读全文

python+senium+chrome的简单爬虫脚本

2019-02-05 21:50 by itwolf, 2139 阅读, 收藏, 编辑
摘要: 简述: 开始接触python写web自动化的脚本主要源于在公司订阅会议室,主要是使用python+selenium+chromedriver驱动chrome浏览器来完成的,其中部分python代码可以通过低版本的Firefox来录制,生成脚本。安装好环境之后,基本就是用火狐生成一些代码,而代码生成就 阅读全文

海量数据处理常用思想及重要数据结构

2019-02-04 10:22 by itwolf, 617 阅读, 收藏, 编辑
摘要: 1、大顶堆、小顶堆 特别适合topN问题,如求海量日志中最大的100个数。既然是海量数据,那么内存中一下子无法加载所有的数据集,此时可以先读取海量数据中的100个数,建立数据集为100的小顶堆(小顶堆的对顶比所有元素都小),然后依次往堆结构中读取数字,调整堆,使其保持小顶堆,最后得到top100的最 阅读全文
点击右上角即可分享
微信分享提示