随笔分类 -  linux开发

摘要:http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html功能描述:获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某... 阅读全文
posted @ 2014-05-10 11:16 静之深 阅读(533) 评论(0) 推荐(0)
摘要:使用实例:typedef struct { const AVClass *class; char *expr_str; AVExpr *expr; double var_values[VAR_VARS_NB]; enum AVMediaType type;} SetPTSContext;#defi... 阅读全文
posted @ 2014-04-28 14:13 静之深 阅读(4181) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/FrankTan/archive/2010/12/11/1903377.htmlgcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下:type__sync_fetch_and_add(type*... 阅读全文
posted @ 2014-04-28 10:15 静之深 阅读(398) 评论(0) 推荐(0)
摘要:https://www.byvoid.com/blog/fast-readfile/在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟 头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度... 阅读全文
posted @ 2014-04-23 15:45 静之深 阅读(1467) 评论(0) 推荐(0)
摘要:http://blog.163.com/tyw_andy/blog/static/1167902120099163252164/套接口缺省是阻塞的。这一点意味着当发出一个不能立即完成的套接口调用时,其进程将被投入睡眠,等待相应操作完成。可能阻塞的套接口调用可分为一下四类。1 输入操作:包括read, readv, recv,recvfrom和recvmsg共5个函数。如果某个进程对一个阻塞的TCP套接口调用这些输入函数之一,而且该套接口的接收缓冲区中没有数据可读,该进程将被投入睡眠,知道达到一些数据。因为TCP是字节流协议,该进程的唤醒就是只要达到一些数据:这些数据既可以是单个字节,也可以是一 阅读全文
posted @ 2014-04-11 16:35 静之深 阅读(251) 评论(0) 推荐(0)
摘要:http://blog.chinaunix.net/uid-20688544-id-1894890.html内存碎片是一个很棘手的问题。如何分配内存决定着内存碎片是否会、何时会、如何会成为一个问题。 即使在系统中事实上仍然有许多空闲内存时,内存碎片还会最终导致出现内存用完的情况。一个不断产生内存碎片的系统,不管产生的内存碎片多么小,只要时间足够长,就会将内存用完。这种情况在许多嵌入式系统中,特别是在高可用性系统中是不可接受的。有些软件环境,如 OSE 实时操作系统已经备有避免内存碎片的良好工具,但个别程序员做出的选择仍然会对最终结果形成影响。 “碎片的内存”描述一个系统中所有不可用的空闲内.. 阅读全文
posted @ 2014-04-04 11:00 静之深 阅读(5907) 评论(0) 推荐(0)
摘要:http://blog.sina.com.cn/s/blog_a6559d920101gvlk.htmlhexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配。 今天我们来介绍一个hexdump命令的使用:首先我们准备一个测试用的文件test,十六进制如下:[plain]viewplaincopy000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F[plain]viewplainc 阅读全文
posted @ 2014-04-03 10:00 静之深 阅读(1370) 评论(0) 推荐(0)
摘要:http://blog.sina.com.cn/s/blog_602f87700100fc8t.htmllibtool作用:libtool 是一个通用库支持脚本(/usr/bin/libtool),将使用动态库的复杂性隐藏在统一、可移植的接口中。可以在不同平台上创建并调用动态库,我们可以认为libtool是gcc的一个抽象,也就是说,它包装了gcc或者其他的任何编译器,用户无需知道细节, 只要告诉libtool说我需要要编译哪些库即可,并且,它只与libtool文件打交道,例如lo、la为后缀的文件。 libtool生成一个抽象的后缀名为la高层库libxx.la(其实是个文本文件),并将该库 阅读全文
posted @ 2014-04-02 12:50 静之深 阅读(19089) 评论(0) 推荐(0)
摘要:Winpcap特别适用于下面这几个经典领域:1、网络及协议分析2、网络监控3、通信日志记录4、traffic generators5、用户级别的桥路和路由6、网络入侵检测系统(NIDS)7、网络扫描8、安全工具Winpcap有些方面不能做。它不依靠主机的诸如TCP/IP协议去收发数据包。这意味着它不能阻塞,不能处理同一台主机中各程序之间的通信数据。它只能“嗅探”到物理线路上的数据包。因此它不适用于traffic shapers,QoS调度,以及个人防火墙。驱动功能捕获原始数据包,包括在共享网络上各主机发送/接收的以及相互之间交换的数据包;在数据包发往应用程序之前,按照自定义的规则将某些特殊的数 阅读全文
posted @ 2014-04-01 14:34 静之深 阅读(564) 评论(0) 推荐(0)
摘要:添加ipkg更新源你可以通过修改/opt/etc/ipkg.conf去添加############################echo src optware http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ >> /opt/etc/ipkg.confecho src optware http://nslu2-linux.dyoung-mirror.net/feeds/optware/oleg/cross/stable/ >> /opt/etc/ipkg.conf################ 阅读全文
posted @ 2014-03-31 13:47 静之深 阅读(2069) 评论(0) 推荐(0)
摘要:int xsystem(const char *cmd){ int err; err = system(cmd); if (err == -1) { fprintf(stderr, "%s: ERROR: fork failed before execution: `%s'\n", __FUNCTION__, cmd); return -1; } if (WIFSIGNALED(err)) { fprintf(stderr, "%s: ERROR: Child process died due to signal %d: `%s'\n", 阅读全文
posted @ 2014-03-31 12:43 静之深 阅读(542) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/respawn/archive/2012/08/21/2649483.htmlhttp://blog.163.com/liao_ya/blog/static/196322187201331062458384/打造属于自己的Vim神器vim-csupporthttp://www.cnblogs.com/eddy-he/archive/2012/09/14/vim_csupport.htmlVIM: C程序员插件C.vim http://blog.csdn.net/guolb57/article/details/7013076 八项强大的功能功能一:自 阅读全文
posted @ 2014-03-27 16:25 静之深 阅读(414) 评论(0) 推荐(0)
摘要:http://threadpool.sourceforge.net/ 阅读全文
posted @ 2014-03-25 14:41 静之深 阅读(180) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/sudolee/article/details/9052291背景:为什么非要使用cscope?不用ctags?尽管ctags可以索引软链接,但是,ctags不能查找“调用者”,比如:你想看看某个函数在哪些位置被调用了, .etc1, 卸载cscope2, ... 阅读全文
posted @ 2014-03-25 14:19 静之深 阅读(564) 评论(0) 推荐(0)
摘要:Base64编解码(C++版)http://www.cnblogs.com/phinecos/archive/2008/10/10/1308272.htmlBase64 编解码C语言实现http://www.cnblogs.com/syxchina/archive/2010/07/25/2197388.htmlhttp://codingstandards.iteye.com/blog/934928常用方式格式:base64从标准输入中读取数据,按Ctrl+D结束输入。将输入的内容编码为base64字符串输出。格式:echo "str" | base64将字符串str+换行 阅读全文
posted @ 2014-03-25 09:27 静之深 阅读(2678) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/anghlq/article/details/5990513在Unix系统下,如果send 、 recv 、 write在等待协议传送数据时 , socket 被 shutdown,调用send的进程会接收到一个SIGPIPE信号,进程对该信号的默认处理是进程终止。 此种情况 应用就很难查 出 处理进程为什么退出。SIGPIPE 信号:对 一个已经收到FIN包的socket调用read方法,如果接收缓冲已空,则返回0,这就是常说的表示连接关闭.但第一次对其调用write方法 时,如果发送缓冲没问题,会返回正确写入(发送).但发送的报文会导致对端发送RS 阅读全文
posted @ 2014-03-21 16:16 静之深 阅读(11843) 评论(0) 推荐(0)
摘要:Linux mail命令使用 http://blog.csdn.net/c395565746c/article/details/6011731linux c/c++ 发送邮件程序的附件问题http://bbs.csdn.net/topics/340224854Ubuntu下使用最常用的mail功能,需要安装mailutils,安装命令:sudo apt-get install mailutils使用带附件的功能,则还需要安装sharutils,安装命令:sudo apt-get install sharutils;yum install sharutilsredhat下需要启动sendmail 阅读全文
posted @ 2014-03-20 16:05 静之深 阅读(789) 评论(0) 推荐(0)
摘要:http://blog.sina.com.cn/s/blog_804354760101al6q.html之前对于文件的操作通常在一个进程中完成,最近需要在两个进程中对同一个文件进行操作。故想到了文件锁。linux下可以使用flock()函数对文件进行加锁解锁等操作。简单介绍下flock()函数: 表头文件 #include 定义函数 int flock(int fd,int operation); 函数说明 flock()会依参数operation所指定的方式对参数fd所指的文件做各种锁定或解除锁定的动作。此函数只能锁定整个文件,无法锁定文件的某一区域。 参数 operation... 阅读全文
posted @ 2014-03-20 09:50 静之深 阅读(1193) 评论(0) 推荐(0)
摘要:溢出专题(一)单字节缓冲区溢出http://tech.ccidnet.com/art/1101/20050407/626435_1.html通常的缓冲区溢出就是通过重写堆栈中储存的EIP的内容,来使程序跳转到我们的shellcode处去执行。其实,即使缓冲区只溢出一个字节的时候,也有可能去执行我们的代码。这听起来有些不可思议,其实还是很有可能的,下面我们就来看看这是如何实现的。 我们先写一个有弱点的程序,它只能被溢出一个字节。 ipdev:~/tests$ cat > suid.c#include func(char *sm){ char buffer[256]; int i; ... 阅读全文
posted @ 2014-03-18 12:59 静之深 阅读(1037) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/biyeymyhjob/archive/2012/08/05/2623774.html 阅读全文
posted @ 2014-03-16 11:56 静之深 阅读(122) 评论(0) 推荐(0)