自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SuperJack的道路

凡走过,应有痕迹

  • 博客(27)
  • 收藏
  • 关注

原创 【读书笔记】CSAPP-深入理解计算机系统

栈保护机者(stack protector)机制,用来检测缓冲区越界。思想:在栈帧中任何局部缓冲区与栈状态之间存储一个特殊的金丝雀(canary)值,也称之为哨兵值(guard value),是在程序每次运行时随机产生的。在恢复寄存器状态和从函数返回之前,程序检查这个金丝雀值是否被该函数的某个操作或者该函数调用的某个函数的某个操作改变了。...

2022-03-16 23:23:30 402

原创 Ubuntu18.04 配置完整版openCV 3.20

第一部分:版本:Ubuntu 18.04自带版本3.2默认通过官方源使用"apt install python3-opencv libopencv-dev"命令安装的缺少了xfeatures2d模块, 使用PPA安装OpenCV,所有的模块都有:sudo add-apt-repository ppa:ignaciovizzo/opencv3-nonfreesudo apt-get updatesudo apt install python3-opencv libopencv-dev验证:.

2020-07-17 09:59:02 544

原创 【修炼C++】枚举类型 enumeration

c++包含两种枚举:限定作用域和不限定作用域。其中限定作用域是C++11新标准引入。限定作用域:  形式:  指定类型:  不限定作用域:枚举作为函数参数枚举类型的前置声明...

2020-06-10 23:12:32 674

原创 Docker基本开发技术简介

Docker基本原理简介docker 是一个开源的应用引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署,可以通过镜像,快速恢复服务。docker是利用Linux内核虚拟化技术(LXC),提供轻量级的虚拟化,以隔离进程和资源。LXC不是硬件的虚拟化,而是Linux内核的虚拟机化,相对传统的虚拟机,节省了很多硬件资源。docke...

2020-04-14 17:55:09 542

原创 [Nginx源码解析]ngx_add_inherited_sockets函数

//从环境变量中获取合法的socketfd 并添加到cycle->listening相应数组中static ngx_int_tngx_add_inherited_sockets(ngx_cycle_t *cycle){ u_char *p, *v, *inherited; ngx_int_t s; ngx_listening...

2019-09-11 16:23:10 207

转载 [转]C++中fstream的用法

原文链接:https://www.byvoid.com/zhs/blog/cpp-fstream 因为服务器访问不稳定所以转载于此。ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(&l...

2019-07-15 20:56:26 519

原创 深入linux内核架构-模块

添加和移除:从用户角度来看,模块可以通过两个不同的系统程序添加到运行的内核中。它们分别是modpro和insmod。前者考虑了各个模块之间可能出现的依赖性(在一个模块依赖于一个或多个合作者模块的功能时)。相比之下,insmod只加载一个单一的模块到内核中,而该模块可能只信赖内核中已存在的代码,并不关注所依赖的代码是通过模块动态加载,还是持久编译到内核中。...

2019-07-11 11:03:42 114

转载 Linux下性能分析工具和内存泄露检测工具的简介--Valgrind

来自博主:https://blog.csdn.net/u014717036/article/details/50762252valgrind通常用来成分析程序性能及程序中的内存泄露错误Valgrind工具集简绍Valgrind包含下列工具:1 memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。最常用的工具,用来检测程序中出现的内存问题,所有对内存的读写都会被检测到...

2019-07-04 15:29:50 137

原创 [BOOST]boost编程中出现的问题

1 问题g++11 boost_test.cpp -g -o main -lboost_thread/usr/bin/ld: /tmp/cczHwfIG.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'//usr/lib/x86_64-linux-gnu/libboost_system.so.1....

2019-03-13 17:16:10 341

原创 [Linux之道] VIM命令行手册

此为vim中文手册学习记录,有兴趣去下载http://github.com/yianwillis/vimcdocnormal模式下,输入v进入到visual模式h j k l 上下左右移动光标选择d 进行剪切y 进行复制(又是一个大主题,yy 整行 )p 进行粘贴J 删除一个换行符ctrl+R 返回到上一个命令a 在之后追加,此时从normal模式进入到insert...

2018-12-04 11:59:11 137

原创 【修炼C++】基础知识笔记-第7章 类

1 this 任何对类成员的直接访问都被看成this的隐式引用,this是一个常量指针 (class *const),不允许改变this中保存的地址。常量成员函数:在参数列表后面加一个const,表示this是一个指向常量的指针(const class *const this);不能再一个常量对象上调用普通的成员函数,因为this是一个指向非常量的常量指针,因此无法将常量成员赋给thi...

2018-11-30 09:49:27 204 2

转载 ubuntu linux 下打造vim开发环境

工作中使用ubuntu 系统,因此需要使用vim进行开发。https://blog.easwy.com/archives/vi-vim-beginner-abc/

2018-11-30 09:48:38 223

原创 【修炼C++】基础知识点笔记-第6章 函数

1 当用实参初始化形参时会忽略掉顶层const。形参顶层const被忽略掉了,当形参有顶层const时,传给它常量对象或者非常量对象都是可以的。void fcn(const int i){}void fcn(int i )//错误:重复定义了fcn(int)因为顶层const被忽略掉了,所以在上面的代码中传入两个fcn函数的参数可以完全一样。2 尽量使用常量引用,因为若定义为常量...

2018-11-22 23:49:14 227 3

原创 【修炼C++】基础知识点笔记-第4,5章 表达式&&语句

1、条件运算符满足右结合律,意味着运算对象(一般)按照从右向左的顺序组合。//靠右边的条件运算(比较成绩是否小于60)构成了靠左边的条件运算的:分支。finalgrade = (grade > 90)?"high pass":(grade < 60) ? "fail":"pass";2、位运算符,作用于整数类型的运算对象,并把运算对象看成二进制的集合。如果运算对象是一个"小...

2018-11-21 00:01:48 153 1

转载 GNU开发工具——CMake

http://blog.51cto.com/9291927/2115399这篇文章写的很不错,记录一下。

2018-11-19 19:30:30 254

原创 【修炼C++】基础知识点笔记-第3章 字符串,向量和数组

重新学习c++的东西,此为《C++ Primer》读书笔记,主要记录零碎的知识。另外所有的C++11新标准也会被列出。1,位于头文件的代码一般来说不应该使用using声明。这是因为头文件的内容会拷贝到所有引用它的文件中。2,拷贝 初始化,直接初始化。【???】3,string对象上的操作os<<s                         将s写到输出流os当中,...

2018-11-16 23:52:24 144 5

原创 【修炼C++】基础知识点笔记-第2章

重新学习c++的东西,此为《C++ Primer》读书笔记,主要记录零碎的知识。另外所有的C++11新标准也会被列出。1,C++ 语言支持分离式编译机制,该机制允许将程序分割为若干个文件,每个文件可以被独立编译。2,名字的作用域:全局作用域,块作用域。for(int val = 0;val<10;++val)val 的作用域只在for语句内,因为其定义于for语句内。3...

2018-11-12 11:11:38 153 3

转载 GBDT原理

个人看完这个之后收益匪浅https://cloud.tencent.com/developer/article/1005611

2018-07-10 19:10:45 143

转载 动态内存与静态内存的区别

来源于https://www.cnblogs.com/davidgu/p/3785722.html 摘录于此1. 静态内存静态内存是指在程序开始运行时由编译器分配的内存,它的分配是在程序开始编译时完成的,不占用CPU资源。程序中的各种变量,在编译时系统已经为其分配了所需的内存空间,当该变量在作用域内使用完毕时,系统会自动释放所占用的内存空间。变量的分配与释放,都无须程序员自行考虑。eg:基本类型,...

2018-07-08 22:01:47 844

原创 [NLP] 自动分词

《统计自然语言处理》学习笔记由字构词的汉语分词方法(2002)由字构词的汉语分词方法的思想:它是将分词的过程看作字的分类问题。在以往的分词方法中,无论是基于规则的方法还是基于统计的方法,一般都依赖于一个事先编制的词表,自动分词的过程就是通过查词表作出词语切分的决策,与此相反,由字构词的分词方法认为每个字在构造一个特定的词语时都占据着一个确定的构词位置(即词位)假如每个字只有4个词位:词首(...

2018-05-31 23:47:08 579

原创 ML-提升方法和决策树学习笔记

集成学习集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统,基于委员会的学习。同质集成:只包含同种类型的个体学习器。异质集成:包含不同类型的个体学习器。根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类,即个体学习器间存在强依赖关系,必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系,可同时生成的并行化方法;前者的代表是Boosting,后者...

2018-05-31 23:45:16 278

原创 ML-最大熵模型

最大熵模型的基本原理是:在只掌握关于未知分布的部分信息的情况下,符合已知知识的概率分布可能有很多个,但使熵值最大的概率分布最真实地反映了事件的分布情况,因为熵定义了随机变量的不确定性,当熵值最大时,随机变量最不确定,最难准确地预测其行为。也就是说,在已知部分信息的前提下,关于未知分布最合理的推断应该是符合已知信息最大不确定或者最大随机的推断。...

2018-04-18 23:39:00 122

原创 linux socket 编程总结

#include#includeint socket(int domain, int type, int protocol);domain参数 可指定的协议族域说明AF_UNIXUINX域协议(文件系统套接字)AF_INETARPA因特网协议(UNIX套接字)AF_ISOISO标准协议A

2017-08-10 01:06:00 652

原创 快慢指针

快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。如:快指针每次移动两个节点 慢指针每次移动一个节点。用处:1 判断单链表中有没有环存在。若存在环,那么快指针和慢指针将在某个不为null的节点相遇int isExistLoop(LinkList L){ LinkList fast,slow; fast = slow = L; while(

2017-05-07 22:45:10 658

原创 指针和地址学习

今天在公司遇到这个问题,之前没有用到过,现在探索一下#include<stdio.h>void main(){ int mac[6]={0x11223344,0x34dcfe1f,0x56,0x78,0x9a,0xbc}; char rcmac[12]={0}; //for(i=0;i<6;i++) { printf("0x%x\n",*mac);

2016-02-02 22:55:04 708

原创 指针和malloc用法笔记

查看指针和malloc的使用,其中指针初始化之后不是直接进行赋值。例如int *p;*p = 0;此时,指针p并没有被分配地址,这样会存在错误。#include<stdio.h>#include<stdlib.h>#include<malloc.h>int main(){ int *p; p=(int *)malloc(sizeof(int)); *p=100;

2016-01-07 22:55:41 1859

原创 c语言16进制输出

#include<stdio.h>void main(){ char a[10]={0}; char i=0; unsigned char b=0xf4; for(i=0;i<10;i++) { a[i]=i+48; } printf("string=%s\n",a); printf("b=%04x\n",b);}1

2015-12-30 22:57:01 11590

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除