- 博客(70)
- 资源 (4)
- 收藏
- 关注
原创 Kafka源码阅读
# 工程版本与工程建立1. kafaka 使用scalar java 2中语言编写2. kafaka 源码阅读版本:kafka-0.10.1.1
2021-06-21 08:56:13
245
原创 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
228
转载 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
2164
原创 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
6088
转载 风格回调函数 vs c++风格虚基类
http://www.cnblogs.com/raymon/archive/2012/08/28/2660876.html 风格回调函数 vs c++风格虚基类,关于接口定义和调用的对比c++中也很常用回调函数,比如MFC中,既可以用回调函数的方式创建线程,也可以利用继承线程类的方式创建线程。我的理解是,利用虚基类实现接口,代码更加直观易懂。类是现实的抽象,利用
2013-09-29 21:15:39
818
原创 计算进程的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
2048
原创 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
910
转载 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
875
转载 epoll_create, epoll_ctl和epoll_wait
http://blog.youkuaiyun.com/kevinf_sun/article/details/6654614
2013-03-21 14:11:56
777
原创 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
6896
原创 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
5199
原创 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
1941
原创 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
1009
转载 在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
457
原创 在程序中判断一个文件是否可读的方法
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
1737
原创 c++ 理解 volatile ,mutable , const 及 const mutable
mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些
2012-11-14 10:14:43
854
原创 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
4054
1
原创 非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
5929
原创 如何设置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
1624
原创 autoconf 与 automake 建立工程
configure --with-extra-includes=/usr/local/mysql/include/ --with-extra-libraries=/usr/local/mysql/lib/
2012-08-30 15:48:46
525
原创 网卡配置备份
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
677
原创 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
834
原创 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
7024
原创 一个问题,系统函数能抛什么异常?
try { pStartBuffer = (T*)malloc(MemSize);//PAGE_NOACCESS); if( pStartBuffer == NULL ) { printf("VM alloc failed!\n");
2012-06-08 16:36:42
653
原创 内存池的一种实现
#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
718
原创 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
2301
原创 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
2690
原创 得到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
2587
原创 函数对象的构造与使用例子
// 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
559
原创 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
2345
原创 带子目录的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
931
原创 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
1743
原创 测试linux下 fprintf fwrite write mmap 等写文件的速度
/***************************************************************** 说明: 用不同的方法,测试写文件的速度,测试结果表明* 改变COUNT的值,将改变写入文件的大小* 测试CPU使用率方法: /usr/bin/time -f "CPU: %P" ./a.out 1 * *************
2012-05-03 18:10:35
12991
1
原创 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
1279
转载 vs2010快捷键
1.进入工具----选项 对话框2.选择 环境---->键盘 3.在 【显示命令包含】 下面的对话框中输入“对齐”关键字,然后就会在这个编辑框下面一个文本窗口中显示关于“对齐”一系列的“某某对齐”操作命令,选中你想查看的,就会在【选定命令的快捷键】一栏中显示其快捷键了VS2010快捷键Ctrl+E,D ----格式化全部代码Ctrl+E,F ----格式化选中的
2012-04-26 19:10:59
698
转载 探索C++最快的读取文件的方案
http://www.byvoid.com/blog/fast-readfile/ http://blog.youkuaiyun.com/jifengszf/article/details/3886802 在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pasc
2012-04-24 16:37:18
10022
hash表实现举例 hash结构中带超时链表的实现
2015-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人