摘要: 由于项目需要,所以接触并使用了ZLIB库。ZLIB是通用压缩 库,著名的ZIP软件使用的就是ZLIB库。在JAVA中,内置了ZLIB,所以可以直接调用,在网络中流淌的很多压缩后的数据流,就是使用ZLIB处理 的。关于ZLIB中使用的LZ77和HUFFMAN编码,这里不作介绍。现在只想说下ZLIB的应用。在C编写的ZLIB库中,也就是直接从http://www.zlib.net/载 下来的库里,有很多参数可以设置,这样可以很灵活的压缩原始数据。例如,MAX_MEM_LEVEL 用来设置压缩级别,即压缩时使用的空间和最终的压缩率之间的一个参数;MAX_WBITS LZ77窗口长度,越长,压缩率就越 阅读全文
posted @ 2013-01-21 19:33 Samurail 阅读(213) 评论(0) 推荐(0)
摘要: ~ 阅读全文
posted @ 2013-01-10 17:28 Samurail 阅读(149) 评论(0) 推荐(0)
摘要: LD_DEBUG 是 glibc 中的 loader 为了方便自身调试而设置的一个环境变量。命令 :LD_DEBUG=help ls,显示帮助信息,例:Valid options for the LD_DEBUG environment variable are: libs display library search paths reloc display relocation processing files display progress for input file symbols display symbol table processing ... 阅读全文
posted @ 2012-12-05 18:30 Samurail 阅读(750) 评论(0) 推荐(0)
摘要: 先看以下代码:char *p;p="abc";你认为是对的吗?答案:语法上是对的,但不提倡这种写法。误区1:没有给p分配内存空间就赋值,怎么会是对的呢?正解:不少人第一眼将这里的p="abc"看成了*p="abc",然后就做出了以上的论断。这是比较笨笨的错误咯:)看清楚就好啦,其实赋给p的是"abc"的地址。再说,*p="abc"也不对呀,字符串可不能这么赋值。误区2:这"abcd"哪来的地址,怎么能直接赋给p呢?正解:先自己试试吧。在2K/XP + VC下运行这段代码,是不 阅读全文
posted @ 2012-12-04 23:48 Samurail 阅读(494) 评论(0) 推荐(0)
摘要: 本文来自:http://blog.csdn.net/chenke1988/article/details/7273375一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放 , 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变 阅读全文
posted @ 2012-12-04 23:42 Samurail 阅读(393) 评论(0) 推荐(0)
摘要: 一、什么是load average?linux系统中的Load对当前CPU工作量的度量(WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度。Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。我们可以通过系统命令"w"查看当前load average情况[root@CNC-BJ-5-3N1 ~]# w20:01:55 up 76 days, 8:20, 6 users, 阅读全文
posted @ 2012-11-21 18:01 Samurail 阅读(267) 评论(0) 推荐(0)
摘要: 环境:red hat5 linux消息队列的配置文件为: /etc/sysctl.conf ,里面: msgmax: 一条最大消息的字节数 msgmnb: 一个消息队列总共最大字节数 而我的系统这2个值都默认是65536,假如发一条65536长度的消息,那么消息队列只能存放一条消息,而我们的服务每条消息定义的长度是4096,这样最多也只能存放16条消息,有时服务处理不过来时就会报错:Resource temporarily unavailable,消息队列堵塞的现象,所以要将消息队列大小改为(4194304,这个值根据自己需求来改),具体步骤为: 1.以root用... 阅读全文
posted @ 2012-11-14 18:14 Samurail 阅读(5947) 评论(0) 推荐(0)
摘要: 实验环境:red_hat5 目的: 在系统启动时候,将SC用户下的指定的服务都启动。 方法: 在/etc/rc.d/目录下找到rc.local文件,此文件是系统时执行的最后一个脚步文件 (不同的linux系统rc.local文件的路径或名字可能不同)。 所以我们只需在这个文件内加上我们要执行的命令:su - sc -c runpro, 重启服务后就会执行在sc用户模式下执行runpro脚步。 解释: 要启动的服务制成一个脚步叫runpro; su命令 -c选项: pass a single COMMAND to the sh... 阅读全文
posted @ 2012-11-13 00:23 Samurail 阅读(578) 评论(0) 推荐(0)
摘要: 今天编译mysql的动态库(libodbc.so)编译过了,但当我编译一个应用服务时需链接用到mysql的动态库时就报错:/home/sc/lib/libodbc.so: undefined reference to `mysql_server_init'/home/sc/lib/libodbc.so: undefined reference to `mysql_close'/home/sc/lib/libodbc.so: undefined reference to `mysql_affected_rows'/home/sc/lib/libodbc.so: undef 阅读全文
posted @ 2012-11-13 00:06 Samurail 阅读(1954) 评论(0) 推荐(0)
摘要: 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用。which查看可执行文件的位置whereis查看文件的位置locate配 合数据库查看文件位置find实际搜寻硬盘查询文件名称1、which语法:[root@redhat ~]# which 可执行文件名称例如:[root@redhat ~]# which passwd/usr/bin/passwdwhich是通过 PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件2、whereis语法:[r 阅读全文
posted @ 2012-11-12 23:07 Samurail 阅读(195) 评论(0) 推荐(0)