
c/c++
cp3alai
C/C SHELL SOCKET IPC
展开
-
谈谈volatile关键字
本文分别以gcc O0和O2两个级别进行测试.有这样一段代码.#include #include #include static int trigger = 0;void *thread_dumper(void *arg);void *thread_worker(void *arg);int main(int argc, char **argv){ pthr原创 2016-01-19 15:34:23 · 531 阅读 · 0 评论 -
linux遍历文件夹源码
遍历文件夹获取整个文件夹的占用空间:uint64_t dir_space(char *path){ int ret = 0; uint64_t space = 0; char cur_dir[PATH_MAX + 1] = {0}; DIR *dir = NULL; struct dirent *ent = NULL; if (NULL ==原创 2016-03-24 15:24:18 · 619 阅读 · 0 评论 -
fork - 继承还是不继承
http://www.cublog.cn/u2/61322/showart_1270907.html知道子进程自父进程继承什么或未继承什么将有助于我们。下面这个名单会因为 不同Unix的实现而发生变化,所以或许准确性有了水份。请注意子进程得到的是 这些东西的 *拷贝*,不是它们本身。由子进程自父进程继承到:进程的资格(真实(real)/有效(effect转载 2016-03-28 10:44:00 · 466 阅读 · 0 评论 -
zlib学习小结
参考连接 :http://blog.youkuaiyun.com/zhoudaxia/article/details/8039519http://www.oschina.net/code/snippet_65636_22542http://blog.163.com/bh_binghu/blog/static/94553512011626102054571/请多多支持以上作者...原创 2016-05-01 01:26:47 · 14006 阅读 · 0 评论 -
简单有道词典客户端C实现
参考链接 :http chunked : http://blog.youkuaiyun.com/yaneng/article/details/4378984zlib压缩和解压gzip : http://www.oschina.net/code/snippet_65636_22542请多多支持以上作者,谢谢...前几天写了这个主题,但是那个时候思路不清晰,写的乱七八糟.写博客为的就是理清原创 2016-05-03 18:56:34 · 1555 阅读 · 0 评论 -
简单线程池实现 (C版本)
线程池,顾名思义,就是一个池子,里面放一堆线程.没事的时候待着,个个心怀鬼胎,摩拳擦掌,有事了谁抢到算谁的...原创 2016-06-01 23:59:05 · 3445 阅读 · 1 评论 -
网络编程中常见错误码总结
在网络编程中,总有各种需要注意的环节,几乎每个API都要进行异常处理,判断返回值以及错误码来定位是否需要退出.本文根据自身使用经验,总结以下错误码及其出现场景和一般处理流程.网络编程的一般性流程如下 :客户端 : socket -> connect -> write / read服务端 : socket -> bind -> listen -> accept还有因为设置属性带来原创 2016-05-10 01:59:54 · 4453 阅读 · 0 评论 -
pthread_cond_signal虚假唤醒(spurious wakeup)
原文链接 : http://computer.uoh.edu.cn/c/9412.html , 请多多支持原作者.谢谢!!!虚假唤醒最近在使用Linux条件变量的时候,经过反复测试发现,pthread_cond_signal有时候会唤起多个正在pthread_cond_wait的线程。后来通过查阅IEEE Std 1003.1, 2004中关于pthread_cond_signal转载 2015-11-20 21:03:54 · 1060 阅读 · 0 评论 -
redis学习小结
http://redisdoc.com/index.html 特别详细的redis学习文档https://github.com/redis/hiredis.git redis的C语言接口源码https://github.com/uglide/RedisDesktopManager.wiki.git 一个redis桌面管理工具,比较遗憾的是不能实时更新,回头试试改改代码,原创 2015-07-01 17:07:14 · 934 阅读 · 0 评论 -
我也学算法 - KMP算法
一直以来,对算法都是理论大于实际,甚至没有实际.最近由于项目需要.从新了解了一下KMP算法.唉,讨厌这种被动的学习过程.不过KMP算法还是很有意思的,用了两天的时间才总算是弄懂了.期间参考了网上的博文和数据结构.下面分享一下KMP算法的心得.KMP的总体思想是利用模式串本身的特性来优化匹配的步骤.如何利用自身的特性呢,KMP借助一个数组来实现,也就是大多数教程中提到的next数组.后面原创 2015-06-01 02:31:00 · 1246 阅读 · 0 评论 -
linux进程状态小结
提到进程,首先想到的自然是ps.这个命令可以查看进程的状态.也会想到/proc目录.当前系统的所有进程都以文件的形式保存在这里.首先了解一下ps命令.比较常用的一些组合.我是记不住.现用现查.比如ps axu输出部分如下:这里着重说一下第八个字段,进程状态:S sleep(睡眠) R run(运行)s session(会话组首进程)N原创 2015-01-30 00:53:00 · 561 阅读 · 0 评论 -
linux共享内存之mmap
这应该可以算得上是IPC的一种,虽然效率可能并没有其它IPC方式高.看到map很容易联想到映射.的确,mmap就是一种映射方式,将打开的文件和一段连续的内存做映射.使得对内存进行操作即可以实现对文件的读写,反过来,也就是说,可以通过这种方式来达到进程通信.mmap系列涉及三个函数.void * mmap(void *buf, size_t len, int prot, int flag原创 2015-01-03 22:45:10 · 905 阅读 · 0 评论 -
linux下遍历文件夹---opendir等用法
通过实例对linux下遍历文件夹的函数进行解析.原创 2014-12-25 00:54:56 · 5401 阅读 · 0 评论 -
linux实现shell命令支持ipv4地址转换
这几天一直都在和IP地址打交道.GDB出来一个变量,就到计算器里面看看二进制,然后每八位的去计算得出IP地址,着实不胜其烦.搜了一下网上的信息,也没有找到类似的工具.可能大家都觉得写这么一个东西太简单了.但是其实,无论是否简单,真正能够产生便利的命令,就都是不错的命令.既然没有现成的可用,那索性就自己写一个.算来也没有几行代码.说说这个过程的波折吧.这么简单一个程序,写出来各种问题.1.原创 2015-04-27 22:36:53 · 1786 阅读 · 0 评论 -
LINUX下core文件的生成与定制
在大多数日常的应用场景中,我们需要一个7 * 24小时稳定运行的服务.然而很多时候,由于服务器环境实时的改变以及程序在编写过程中可能存在的瑕疵,都会导致进程的崩溃.这个时候core文件就显示出了它的作用.由于core文件是对进程实时运行的内存的固化,很多时候我们可能并不需要大部分信息,并且过大的core文件也可能把磁盘空间占满,本文将对core文件的生成以及如何裁剪core文件进行讨论.一...原创 2019-06-28 09:28:25 · 2133 阅读 · 0 评论