封装dpdk接口成静(动)态库(同源同宿、多通道队列收包),然后在C++应用中使用方法

dpdk的接口全部都是C语言实现的,它的makefile模版也很简单,只需改变其宏就可以在生成可执行文件、静态库、动态库之间切换。本篇博文主要给出如果使用dpdk封装成静态库后,在C++应用程序中编译使用的方法。 一、封装dpdk抓包接口 源代码实现的功能: 1、可通过配置文件进行配置多...

2017-07-17 14:27:26

阅读数 2114

评论数 2

基于C++ STL利用CAS原子操作封装的无锁list

在做高吞吐量的项目中,性能是必须考虑的一个重要因素。而数据同步则又是重中之重,常常需要使用到锁,但是锁的使用会造成性能下降。这个时候,CAS就大显身手了,关于CAS,这里就不再多说。直接贴我基于STL list的封装的无锁list,其他容器则类似。 文件1:lockfree_list.hpp #...

2017-07-11 09:51:36

阅读数 1736

评论数 0

基于boost库的线程安全queue

STL的queue多线程下是不安全的,当然网上有很多无锁队列,如boost::lockfree::queue就是很好的东西。这里实现一个互斥锁的线程安全队列,基于STL的QUEUE。 /*******************************************************...

2017-06-08 11:34:26

阅读数 1727

评论数 0

IO基础入门之I/O多路复用技术

在I/O编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者I/O多路复用技术进行处理。I/O多路复用技术通过把多个I/O的阻塞复用到同一个select的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求。与传统的多线程/多进程模型比,I/O多路复用的最大优势是系统开销小...

2017-01-09 16:25:43

阅读数 256

评论数 0

C++采用内存映射方式高效率读写大数据

在有时候,项目的数据量特别大,而且源源不断的到来,这个时候,利用传统的IO文件流写文件势必效率很低跟不上节奏。不妨采用内存映射方式来写文件,达到高效。 我们这里采用mmap这种内存映射方法: 一、mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程...

2016-08-12 16:09:22

阅读数 10922

评论数 1

CENTOS 6 通过YUM升级GCC到4.7/4.8

第一阶段:升级到4.7 [root@01314.CN ~]# cd /etc/yum.repos.d [root@01314.CN yum.repos.d]# wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo [r...

2016-07-12 11:37:44

阅读数 5026

评论数 0

使用Git创建一个版本

一、首先在Github中创建一个版本库 1、申请一个GitHub帐号; 2、创建一个版本库: 3、输入版本库名字,然后设置相关权限,如是否公开等,然后点击Create repository完成创建: 二、提交代码到版本库中 1、打开Git Shell,进入工程目录; 2、拷...

2016-04-25 09:52:27

阅读数 164

评论数 0

android学习笔记(一)

一、建立一个活动(activity)的一般步骤:     创建一个类,比如FirstActivity.class,并重写onCreate(Bundle savedInstanceState);     创建一个layout文件,为界面布局;     在AndroidMainfest.xml中注册...

2016-04-21 11:52:21

阅读数 164

评论数 0

kali 环境下的arp中间人攻击

apr攻击原理:ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。 ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机...

2016-04-19 13:50:28

阅读数 5853

评论数 0

java学习笔记(三)

一、java多态 1、多态是指同一个行为具有多个不同的表现形式或形态的能力; 2、多态性是对象多种表现形式的体现; 3、重写的方法能在运行时调用,不管编译的时候源代码中引用变量是什么数据类型; 二、java抽象类 1、抽象类是一个类中没有包含足够的信息来描绘一个具体的对象; 2、抽象类与普通类唯...

2016-04-19 13:39:21

阅读数 191

评论数 0

java学习笔记(二)

一、java继承 1、继承:一个对象从另一个对象获取属性的过程; 2、java一个子类只能拥有一个父类,不同于C++支持多继承; 3、所有java的类均是由java.lang.Object类继承而来的,所以object是所有类的祖先类; 4、通过extends关键字可以申明一个类是继承另外一个类而...

2016-04-19 10:18:04

阅读数 333

评论数 0

java学习笔记(一)

一、java对象和类 1、java命名规则:     源文件名:与类名保持一致,且首字母必须大写;     类名:类名的首字母应该大写,形如MyFirstJavaClass;     主方法入口:所有的java程序由public static void main(String[] args)开始;...

2016-04-18 17:08:40

阅读数 194

评论数 0

CentOS 配置 samba服务器建立共享文件夹

1、安装samba服务端和客户端; yum install samba 2、设置共享目录的权限为777; chmod 777 /home/work 3、修改samba配置文件; vim /etc/samba/smb.conf 加入以下内容: [work]         path = /home/...

2016-04-14 11:11:20

阅读数 297

评论数 0

linux 静、动态库笔记

一、静态库: 1、编译源文件生成中间文件:     gcc -c cool.c 2、打包中间文件生成静态库:     ar -r libcool.a cool.o 3、使用静态库,直接在编译的时候加上静态库的路径和名字,就可以直接被打包进可执行文件里了。     gcc -o main main....

2016-04-12 17:05:57

阅读数 280

评论数 0

C++静态库和动态库

原文地址:http://www.cnblogs.com/skynet/p/3372855.html C++静态库与动态库 这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同...

2016-04-11 14:36:15

阅读数 140

评论数 0

CentOS配置网卡——桥接模式

1、选择网卡,点击VMware “编辑”——“虚拟网络编辑器”: 2、选择正确的网络适配器: 3、右击虚拟机,“设置”为桥接模式: 4、打开虚拟机,进入系统,进行系统里的网络设置:系统设置system --> 首选项preference--> 网络设置Network Conne...

2016-04-08 15:51:40

阅读数 1918

评论数 0

VS2010配置pthread库

1、下载:http://sourceware.org/pthreads-win32/#download,下载.zip版本的;然后解压; 2、执行a.bat和b.bat两个脚本,注意a.bat放到库的目录下; a.bat: rem put this file to :D:\#win pth...

2016-04-06 15:47:00

阅读数 4041

评论数 0

http的keep-alive和tcp的keepalive区别

1、HTTP Keep-Alive 在http早期,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。 使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp连接...

2016-04-05 14:33:48

阅读数 10034

评论数 0

一次完整的HTTP事务是怎样一个过程

当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 以下过程仅是个人理解: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应ht...

2016-04-05 10:14:40

阅读数 432

评论数 0

设计一个简单的socket通信协议

为什么要设计一个协议呢?因为TCP协议是面向字节流的协议,面向字节流的协议是无边界的,也就是说一次发送操作并不一定就仅仅产生一个数据包,而有可能是多个,在接收端不一定一次接收就能完成所有数据的收操作。这样如果服务端和客户端没有通信协议,则客户端发送完数据之后,服务端不知道需要经过几次接受(rece...

2016-04-05 09:42:54

阅读数 5905

评论数 0

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