pmunix
码龄19年
求更新 关注
提问 私信
  • 博客:67,629
    社区:323
    67,952
    总访问量
  • 33
    原创
  • 5
    粉丝
  • 0
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2006-10-15
博客简介:

pmunix的专栏

查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得5次评论
  • 获得8次收藏
  • 博客总排名293,269名
创作历程
  • 4篇
    2010年
  • 11篇
    2009年
  • 16篇
    2008年
  • 2篇
    2007年
TA的专栏
  • C++
    7篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

王者杯·14天创作挑战营·第2期

这是一个以写作博客为目的的创作活动,旨在鼓励码龄大于4年的博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见https://bbs.csdn.net/topics/619735097 2、文章质量分查询:https://www.csdn.net/qc 我们诚挚邀请你们参加为期14天的创作挑战赛!

66人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

glibc中的正则表达式处理

(1) regexec是否线程安全?这个函数是glibc中的,至于他是否是线程安全,我先搜了一下,好像没有人说。对于这种库函数最好小心使用,摸清底细先。看来只能到libc中寻找答案了,实现代码如下:intregexec (preg, string, nmatch, pmatch, eflags)    const regex_t *__restrict preg;    const char *__restrict string;    size_t nmatch;    regmatch_t pmatch
原创
发布博客 2010.08.25 ·
1946 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Mysql一个sql查询语句写法


俺是菜鸟
A表存在一个id字段,B表也存在一个id字段
需要将A表中不存在,B表中存在的记录全部过滤出来
(1) select * from t_website_notemp where id not in(select id from t_website);
 
(2) select t_website_notemp.* from t_website_notemp left join t_website on t_website_notemp.
原创
发布博客 2010.07.29 ·
632 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux下服务端程序性能优化

这个问题说起来可大可小,可长可短,基本都是自己切身的经验总结。 高爷爷说过"过早的优化是万恶之源",做开发不可能一开始就想着优化,应该从全局考量,从各个角度去思考,权衡利弊,做出一个 符合大局利益的设计,下来再考虑如何优化。 优化是在现有已成形的设计架构下,做的性能提升。假如你一开始就设计一个低性能的架构,满足不了需求,这种只能推到重来,还优化干嘛。 经验总结如下:
原创
发布博客 2010.05.18 ·
819 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

跨平台实现客户端流控

     流控的目的在于控制用户数据(很多模块,有JAVA, 有C++)到VPN真实流量。     其实这个很好实现,让所有模块都去申请流量即可控制。     但是问题的关键在于如何实现JAVA和C++的程序一起去流控?     还好JAVA提供了共享内存,但是是否和mmap的调用一致呢?需要写个程序验证一下C++:#include #include #include
原创
发布博客 2010.04.09 ·
814 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux下通过iptables抓取tcp连接

1.1.1   iptables原理 1.1.2   以本地为源的包路径StepTableChainComment1  本地程序(比如,服务程序或客户程序)2  路由判断,要使用源地址,外出接口,还有其他一些信息
原创
发布博客 2009.11.30 ·
1561 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux下劫持connect到指定IP地址

    3.1.1  Linux系统调用原理        每个系统调用都是通过一个单一的入口点多路传入内核。eax 寄存器用来标识应当调用的某个系统调用,这在 C 库中做了指定(来自用户空间应用程序的每个调用)。当加载了系统的 C 库调用索引和参数时,就会调用一个软件中断(0x80 中断),它将执行 system_call 函数(通过中断处理程序),这个函
原创
发布博客 2009.11.30 ·
2820 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

在C++函数中优雅的处理资源释放

在C++函数中优雅的处理资源释放       在审查代码的过程中发现如下代码:conf_t cdConf = conf_new();if (cdConf == NULL){       return -1;} if (conf_load(au.get(), CLUSTERD_CONF) == 0){       conf_delete(cdConf); 
原创
发布博客 2009.10.19 ·
1337 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

查表法优化简单加解密

xx服务中需要对IP包进行简单的加解密,以前有段时间也是用过简单加解密,通过测试发现占用了大量的时间, 如果能够提高其执行效率,那么对提升xx服务性能将有很好的帮助 oprfile测试结果:CPU: CPU with RTC device, speed 2800.22 MHz (estimated)Counted RTC_INTERRUPTS events (RTC int
原创
发布博客 2009.10.14 ·
1104 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

template method pattern 和一些C++惯用法

 Template method pattern是GOF24种设计模式中的一种即名”模板方法模式”,意图即为”定义一个算法的骨架, 将具体的算法实现延迟到子类中实现。”在M4.3多线路服务端的预研开发中,服务端主要实现一个连接代理转发数据的功能,但是连接的种类繁多。有多线路自身的命令隧道,数据传输隧道,应用层代理连接。每一种隧道的数据读取方式都是相同的,都是利用环形缓冲区空间去readv某
原创
发布博客 2009.09.24 ·
834 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用tcpdump更加精确的抓包

tcpdump 保存文件 -w *.cap -c ip包个数-e 打印数据链路层信息,可以查看数据包的MAC地址tcpdump中的协议关键字:(1) 过滤ip包长度tcpdump -i eth0 -n -vv icmp and ip[2:2] > 100(2) 过滤相关的tcp类型包tcp类型包包括: URG(带外数据)ACK(应答包)PSH(PSH传送)RST(重置包)SYN(握手包)F
原创
发布博客 2009.09.09 ·
4995 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

nistnet广域网模拟器搭建步骤

发布资源 2009.08.25 ·
doc

C++ vtable相关

(1) vtable的影响     导致一个对象实例增大4个字节 #include  #include  using namespace std; class A {        int a; }; class B {        virtual void say()        {        }              int b; }; int main(i
原创
发布博客 2009.08.23 ·
723 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

malloc, free, new , delete

 (1) free  连续free2次同一指针,如果程序没有崩溃,只能说明你的rp值还行。至于何时崩溃就不知道了。最好设置环境变量MALLOC_CHECK_进行检查,参照man手册中的说明:MALLOC_CHECK_=0, 和没设置一样,将忽略这些错误                     MALLOC_CHECK_=1,  将打印一个错误告警                  
原创
发布博客 2009.07.27 ·
1274 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

单例

以下观点都不是绝对的,都是相对的,谢谢 (1)    全局变量的缺点a.       可扩展性较差b.       维护性较差,在大型工程中可能存在多人同时开发,谁对全局变量进行了什么操作,无从得知(2)    何为单例模式?单例模式是24种设计模式中比较常用的一种,顾名思义就是保证某个类的实例只有一个。 (3)    单例模式实现的问题一般来说单例模式的实现存
原创
发布博客 2009.07.06 ·
689 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网络错误

10055  ---  队列已满或者缓冲区空间不足, 以前只所以出现这种问题,就在于收到10060后,继续send。 修改办法就是sleep一段时间或者轮询不断的send.       主要还是connect或者send过于频繁,导致系统资源耗尽。 10048  --- 本地没有可以使用的端口,最大的可能是1-65535大部分端口都处于time_wait状态,该状态出现在ip测试工具测
原创
发布博客 2009.05.31 ·
911 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Bash命令小技巧总结

Bash不是天天在用,偶尔用一下查下又忘了,所以记下来(1) grep -x 完全匹配一行-c 打印匹配的行数,有几行-n 匹配到行前打印在第几行-l 打印匹配到的文件名-L 打印没有匹配到的文件名(2) 取第一个和最后一个head -n tail -n(3) cut命令取文本的第几列cut -d: -f 1 src-f 表示第几个域,-d表示分
原创
发布博客 2009.05.03 ·
1008 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搭建广域网模拟器nistnet.2.0.12步骤

纯属个人经验, 只供参考, 如有不当,敬请指正 搭建广域网模拟器nistnet.2.0.12步骤 1. 下载nistnet:nistnet有b(2.4.xx以下版本) 和 c(2.6.xx)版本, 我们目前使用的都是2.4.20或者2.4.32内核, 所以用b版本              2. 根据nistnet要求编译内核, (可以试试直接安装是否可以,如果能直接安装最
原创
发布博客 2008.11.26 ·
2508 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

打印某个进程的执行栈

现成的方法有pstack或者使用gdb -p,一般用于查找进程堵塞或者CPU占用过高时的堆栈。 基本原理是通过ptrace到某个进程获取其寄存器的BP值,依次推导出整个执行栈 #include #include #include #include #include #include #include #include #include #include #include #inc
原创
发布博客 2008.10.28 ·
910 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

内存管理checklist

(1) 栈上变量必须初始化(2) 从堆上分配的内存必须初始化 (3) 栈上局部变量是否有大数组变量,导致栈超出默认限制溢出 (4) 栈中是否有不合理的递归,导致栈超出默认限制溢出 (5) 必须对内存耗尽的情况进行处理. 注意new在内存不足时的处理方式(6) 释放某个指针后,必须将该指针变量赋值为NULL, 避免野指针的出现(7) 禁止对同一指针delete或者free两次
原创
发布博客 2008.08.28 ·
557 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

epoll vs poll

测试目的:             证明epoll和poll在应用层相同的使用条件下,epoll的开销要明显的小于poll                                                     Epoll采用ET模式测试方法:服务端,对连接过来的n个客户端只读取数据,系统调用只有poll和read, 或者epoll_wait和read, 便于分析。为了poll
原创
发布博客 2008.08.25 ·
1107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多