自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (4)
  • 收藏
  • 关注

原创 [go] Gin中间件中获取request.body

Gin中间件中获取request.body

2022-11-29 10:51:44 807 1

原创 Kafka源码阅读

# 工程版本与工程建立1. kafaka 使用scalar java 2中语言编写2. kafaka 源码阅读版本:kafka-0.10.1.1

2021-06-21 08:56:13 196

原创 2020-09-26

packagemain/*本文通过golang 实现msgpack字节流.参见 :https://github.com/hashicorp/memberlist.git util.godecode() encode()*/import("bytes""fmt""github.com/hashicorp/go-msgpack/codec")funcmain(){msgType:=1...

2020-09-26 12:24:06 171

原创 24进制 编码实现

24进制与十进制的转化

2017-04-19 15:37:18 2109

原创 valgrind android编译、安装

valgrind android编译、安装、举例。 valgrind-3.12.0.tar.bz2

2016-12-19 21:24:27 2812

转载 SOCK_RAW PF_PACKET IPv6带物理地址发送报文

通过link layer发送IPv4 IPv6 例子如下:http://www.pdbuchan.com/rawsock/rawsock.html发送ipv4:http://www.pdbuchan.com/rawsock/tcp4_ll.c发送ipv6http://www.pdbuchan.com/rawsock/tcp6_ll.c

2014-03-03 15:36:14 2117

原创 gre报文长度解析

// *pTemp为GRE报文头指针unsigned char getGreHdrLen(unsigned char *pTemp){    unsigned char greflags1 = *(pTemp);    unsigned char greflags2 = *(pTemp + 1);    unsigned char sequence_num = (greflag

2014-03-02 12:07:52 6012

转载 风格回调函数 vs c++风格虚基类

http://www.cnblogs.com/raymon/archive/2012/08/28/2660876.html 风格回调函数 vs c++风格虚基类,关于接口定义和调用的对比c++中也很常用回调函数,比如MFC中,既可以用回调函数的方式创建线程,也可以利用继承线程类的方式创建线程。我的理解是,利用虚基类实现接口,代码更加直观易懂。类是现实的抽象,利用

2013-09-29 21:15:39 783

原创 计算进程的cpu使用率 gnuplot 作图 cpu使用率曲线示意图

一,cpu使用率计算代码: #include #include #include #include #include #include #include #include #include #include #include pid_t g_nPid = 0;static double getCpuUse(int nDiffTime){

2013-05-03 10:26:18 1940

原创 awk分析话单列子 tcp连接失败率,及失败连接的topN

# 计算话单中,tcp连接失败率,及失败连接的topN# 第29字段为6时的话单为tcp连接# 第85字段为1时表示连接失败 # 第28字段表示目的ip,即服务器的ip, 按目的ip计算topN# $0表示整行, FS表示字段分割符, NF表示当前记录中的字段数量,NR表示表示当前记录的编号,awk将第一个记录算作记录号1awk -F '\t' '{    if ($2

2013-04-11 10:28:30 859

转载 avl实现

avl实现代码: http://hi.baidu.com/l__ray/item/f15383fefb30df1884d278abavl原理文档:http://www.doc88.com/p-401500461413.html游洪跃主页:http://cstest.scu.edu.cn/~youhongyue/  数据结构与算法(C++版)测试代码下载:  http://cst

2013-03-25 11:50:02 851

转载 epoll_create, epoll_ctl和epoll_wait

http://blog.csdn.net/kevinf_sun/article/details/6654614

2013-03-21 14:11:56 742

原创 centos 64 位系统安装postgresql odbc 方法

1,64位系统下,postgresql 的psqlodbc驱动下载地址   http://www.postgresql.org/ftp/odbc/versions/src/2,64位系统下,安装psqlodbc需要的安装包:    unixODBC-2.3.1.tar.gz    psqlodbc-09.01.0100.tar.gz  3,安装unixODBC    tar

2013-02-01 13:58:18 6608

原创 map insert函数返回值的含义

#include #include int main(){    std::map ll;    ll.insert( std::pair(1,2) );    std::pair::iterator,bool > ret;    ret=ll.insert( std::pair(2,3) );    if( ret.second ){        std::co

2012-12-13 15:29:17 5157

原创 postgresql 安装配置

1、下载postgresql最新版:http://www.postgresql.org/ftp/source/2、解压文件:tar zxvf postgresql-8.3.7.tar.gzcd postgresql-8.3.73、配置:./configure --prefix=/usr/local/pgsql4、编译:make5、安装:make install

2012-12-05 16:24:04 1904

原创 linux下如何统计一个目录下的文件个数以及代码总行数的命令

linux下如何统计一个目录下的文件个数以及代码总行数的命令知道指定后缀名的文件总个数命令: find . -name "*.cpp" | wc -l 知道一个目录下代码总行数以及单个文件行数: find . -name "*.h" | xargs wc -l linux统计文件夹中文件数目第一种方法:ls -l|grep “^-”|wc -lls

2012-11-28 14:05:11 973

转载 在Linux中增加swap空间

在安装Linux的时候,不知道swap空间分配多少比较好,所以会随便分配一个,在真正使用的时候,比如安装Oracle10g会要求很大的swap空间,发现swap空间不够,那应该怎么增加swap空间大小呢。        以下的操作都要在root用户下进行,首先先建立一个分区,采用dd命令比如ddif=/dev/zero of=/home/swap bs=1024 count=5

2012-11-28 10:47:56 424

原创 在程序中判断一个文件是否可读的方法

bool canRead(string _path) { assert (!_path.empty()); struct stat st; if (stat(_path.c_str(), &st) == 0) {  if (geteuid() == 0)  // 程序的ueid 是 root用户  ;root用户,一定对文件可读可写   return true;

2012-11-14 14:00:50 1677

原创 c++ 理解 volatile ,mutable , const 及 const mutable

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。  我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些

2012-11-14 10:14:43 810

原创 localtime_r的替代实现

struct tm * my_localtime_r(const time_t *srctime,struct tm *tm_time){    long int n32_Pass4year,n32_hpery;     // 每个月的天数  非闰年    const static char Days[12] = {31, 28, 31, 30, 31, 30, 31, 31,

2012-11-01 14:40:15 3891 2

原创 epool的使用

http://blog.csdn.net/ljx0305/article/details/4065058

2012-09-12 21:15:10 712

原创 非root 用户用root权限执行程序的设置方法

非root 用户用root权限执行程序的设置方法:假设需要执行的程序是 controller_test.用root用户设置步骤如下:     1, 设置所属用户与属组为  root        [root@localhost ~]# chown root.root controller_test    2,  对controller_test加入user的设置为s ,表示任何调用

2012-08-31 16:55:59 5783

原创 如何设置LINUX的共享内存

安装postgresDB时,出现如下错误:[postgres@localhost ~]$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/dataFATAL:  could not create shared memory segment: 无效的参数DETAIL:  Failed system call was shmget(k

2012-08-30 17:03:40 1568

原创 autoconf 与 automake 建立工程

configure --with-extra-includes=/usr/local/mysql/include/ --with-extra-libraries=/usr/local/mysql/lib/

2012-08-30 15:48:46 496

原创 网卡配置备份

TYPE=Ethernet HWADDR=00:0C:29:D4:79:95      DEVICE=eth0        ONBOOT=yes          BOOTPROTO=static    IPADDR=59.64.161.177     NETMASK=255.255.254.0   GATEWAY=59.64.161.1     DNS1=211

2012-08-16 09:35:36 630

原创 UTC时间 与本地时间测试

#include #include int main(){        time_t timeLocal;        time_t timeUTC;        struct tm tmLocal;        struct tm tmUTC;        char strTime[32] = {};        time(&timeLocal);

2012-08-14 13:53:03 781

原创 centos core文件的生成

使用C/C++语言开发程序时,当程序crash的时候产生core dump文件对于调试程序是很有帮助的。在Redhat Linux系统中默认是不生成core dump文件的,这是因为在/etc/profile文件中有这样一行ulimit -S -c 0 > /dev/null 2>&1如何打开core dump呢?最简单的方法是用户在自己的~/.bash_profile中加入uli

2012-07-31 10:02:13 6912

原创 一个问题,系统函数能抛什么异常?

try        {            pStartBuffer = (T*)malloc(MemSize);//PAGE_NOACCESS);            if( pStartBuffer == NULL )            {                printf("VM alloc failed!\n");

2012-06-08 16:36:42 625

原创 内存池的一种实现

#include #include #include #include #include "Const.h"#include "UtilityFunc.h"#include "hashtable.h"#include "logmsg.h"#define SYSTEM_PAGE_SIZE    4096    #define DEFAULT_MAX_NUM

2012-05-30 13:52:50 675

原创 fopen 与 open可以转换 即 FILE-->FD

#include int main(){ FILE *fp = NULL; int i = 0; fp = fopen("test.txt", "w+"); fclose(fp); while(i++ {  fp = fopen("test.txt", "a");  // "注意W+对 int fd = fileno(fp);的影响"  if (fp ==

2012-05-29 11:18:46 2244

原创 open 的到的fd获得fd的文件名。

居然可以把fd给还原为文件名fd是文件描述符,一般由用户空间的open 、fopen调用系统调用sys_open将文件名转换为fd,再对fd进行读写。以前从来没想过这个过程居然可以如此容易地倒过来只因为/proc文件系统例如 ps -aux |grep firefox 查到firefox的pid是2750cd /proc/2750/fd执行 ls -al就可以看

2012-05-29 10:58:15 2613

原创 得到fprintf的系统缓存方法

// 得到fprintf的系统缓存方法#include int main (int argc, char **argv){  FILE *fp;    fp = fopen ("xxx",  "w");    fprintf (fp, "foo");   printf ("%d\n",  fp->_IO_buf_end - fp->_IO_buf_base);

2012-05-21 09:50:38 2522

原创 函数对象的构造与使用例子

// find_if 中使用自定义函数对象。#include #include #include using namespace std;struct DirNode{    string path; int wd;            // 用于inotify的Watch descriptor};class IsContain{private: st

2012-05-17 14:08:18 523

原创 postgreSQL获得指定表的列数

//g++ getTableFieldNum.cpp pqCopy.cpp -I /usr/local/pgsql/include/ -L/usr/local/pgsql/lib -lpq -o get -g#include #include #include "pqCopy.h" using namespace std;char pDBServer[STR_LEN+1

2012-05-15 14:27:07 2277

原创 带子目录的makefile文件

1。建立文件夹 dir  dir中含 三个文件夹 include source pro 和makefile文件。  include 中包含 hai.h头文件。  source 中包含 hello.c文件。  pro 中包含 haia.c haib.c文件。    makefile文件内容有两种写法:  makefile 第一种写法:  //*************

2012-05-09 10:50:56 893

原创 linux下在头文件中找宏的定义方法

#!/bin/bash#处理参数if(($#then echo "usage: findkey.sh src_dir key" exit -1fisrc_dir=$1key=$2find $src_dir  -name "*.h" 2>/dev/null | while read filedo if  grep $key $file >&/dev/nul

2012-05-09 10:31:52 1708

原创 测试linux下 fprintf fwrite write mmap 等写文件的速度

/***************************************************************** 说明: 用不同的方法,测试写文件的速度,测试结果表明*       改变COUNT的值,将改变写入文件的大小*      测试CPU使用率方法: /usr/bin/time -f "CPU: %P" ./a.out 1 * *************

2012-05-03 18:10:35 12547 3

原创 open() 标志位的设置与清除

/*设置 open 标志*/void setBlock(int fd, int flags){    int     val;    if ( (val = fcntl(fd, F_GETFL, 0))     {        perror("fcntli get");    }        val |= flags;        if (fcnt

2012-04-28 15:24:43 1227

转载 vs2010快捷键

1.进入工具----选项  对话框2.选择  环境---->键盘 3.在 【显示命令包含】 下面的对话框中输入“对齐”关键字,然后就会在这个编辑框下面一个文本窗口中显示关于“对齐”一系列的“某某对齐”操作命令,选中你想查看的,就会在【选定命令的快捷键】一栏中显示其快捷键了VS2010快捷键Ctrl+E,D ----格式化全部代码Ctrl+E,F ----格式化选中的

2012-04-26 19:10:59 663

转载 探索C++最快的读取文件的方案

http://www.byvoid.com/blog/fast-readfile/ http://blog.csdn.net/jifengszf/article/details/3886802 在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pasc

2012-04-24 16:37:18 9784 1

hash表实现举例 hash结构中带超时链表的实现

1. hash key值计算,key的比较,内存分配,可以通过实现模板类重新定制 2. 实现按插入时间的先后,通过有序链表访问节点。用于按照时间先后,快速遍历(删除)超时节点。 3. hash 实现快速存取, 链表快速实现超时hash节点的删除。

2015-11-18

vs2010助手

2010助手安装 及 破解。 把附带的DLL 替换掉原来的DLL 就行。

2012-07-30

PL/SQL Developer.v8 安装与注册机

plsql安装包 版本v8.0.0.1480 安装完成后,用附带的keygen.exe完成注册。

2012-02-01

利用libpcap发送TCP RST标志位,测试tcp连接破坏

测试libpcap的抓包与发包功能,发送tcp rst标志位实现网络断开。测试rst的部分功能。

2011-11-10

空空如也

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

TA关注的人

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