
笔记
shayne000
这个作者很懒,什么都没留下…
展开
-
markdown快速入门
markdown语法标题字体样式字体演示*斜体*斜体**粗体**粗体***斜体加粗体***斜体加粗体==标记文本==标记文本~~删除文本~~删除文本`高亮文本`高亮文本>引用文本引用文本列表无序列表有序列表插入代码块``` c++int main (){cout&原创 2019-03-13 10:06:41 · 136 阅读 · 0 评论 -
libsvm在vs2017下使用c++实例详解(含c++代码)
最近有项目需要利用svm进行光谱数据分类,所以使用了libsvm实现了该分类器,并且效果不错相关参考环境搭建首先下载libSVM最新的版本使用VS2017创建一个新的空工程,把上图目录中的svm.cpp和svm.h复制到工程目录下,把这两个文件添加到工程中去。注意:VS2017中使用fopen会出现一个错误,原因是VS2017自身兼容性不好,认为fopen不安全,可以通过 工程右键——...原创 2019-03-23 09:45:25 · 5435 阅读 · 2 评论 -
Libevent学习笔记-Reactor 模式
Libevent 是一个轻量级的开源高性能网络库,由c语言编写。跨平台,支持Windows 、Linux 、*BSD 和Mac Os;支持多种I/O 多路复用技术, epoll、poll 、dev/poll 、select 和kqueue 等;支持I/O ,定时器和信号等事件;注册事件优先级;理解Reactor 模式是理解libevent的基石Reactor 模式普通函数调用的机制:...原创 2019-07-14 16:04:19 · 201 阅读 · 0 评论 -
libevent 核心:事件 event
libevent 的核心-eventLibevent 是基于事件驱动( event-driven )的,从名字也可以看到event 是整个库的核心。event 就是Reactor 框架中的事件处理程序组件;它提供了函数接口,供Reactor 在事件发生时调用,以执行相应的事件处理,通常它会绑定一个有效的句柄。首先给出event 结构体的声明,它位于event.h 文件中:struct eve...原创 2019-07-14 16:07:13 · 365 阅读 · 0 评论 -
libevent事件处理框架:event_base
回想Reactor 模式的几个基本组件, 本节讲解的部分对应于Reactor 框架组件。在libevent中,Reactor 框架组件表现为event_base结构体,结构体声明如下,它位于event-internal.h 文件中:struct event_base {const struct eventop * evsel ;void * evbase;int event_count ;...原创 2019-07-14 16:10:53 · 603 阅读 · 0 评论 -
TCP连接意外中断
如何及时有效地检测到一方的非正常断开,一直有两种技术可以运用。一种是由TCP协议层实现的Keepalive,另一种是由应用层自己实现的心跳包。TCP默认并不开启Keepalive功能,因为开启Keepalive功能需要消耗额外的宽带和流量一。服务器进程终止:建立连接以后用kill杀死服务器进程,作为进程终止处理的部分工作,子进程中所有打开着的描述字都被关闭。这就导致向客户发送一个FIN,而客户...原创 2019-07-14 16:13:47 · 4138 阅读 · 0 评论 -
http和https区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,H...原创 2019-07-14 16:18:24 · 166 阅读 · 0 评论 -
常用GDB调试命令
查看当前运行到哪:查看堆栈 bt --打印当前的函数调用栈的所有信息。查看当前栈帧的信息:f --栈的层编号,当前的函数名,函数参数值,函数所在文件及行号,函数执行到的语句。一个进程对应call-stack调用栈,一个函数对应stack-frame栈帧组合多个变量 {var1, var2, var3 }info args --打印...原创 2019-07-14 16:23:56 · 189 阅读 · 0 评论