转:Linux字符编码方式
摘要:首先,解释一下字符集:汉字编码:* GB2312字集是简体字集,全称为GB2312(80)字集,共包括国标简体汉字6763个。 * BIG5字集是台湾繁体字集,共包括国标繁体汉字13053个。 * GBK字集是简繁字集,包括了GB字集、BIG5字集和一些符号,共包括21003个字符。 * GB180...
阅读全文
posted @
2015-04-16 10:43
单车博客园
阅读(719)
推荐(0)
Free命令详解和释放linux Cache(转载)
摘要:因为LINUX的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。先说下free命令怎么看内存[root@yuyii proc]# freetotal used free shared buffers cachedMem: 515588 2...
阅读全文
posted @
2015-03-06 10:30
单车博客园
阅读(1056)
推荐(0)
转: 使用valgrind检查内存问题
摘要:作者:gfree.wind@gmail.com博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原...
阅读全文
posted @
2015-02-05 14:44
单车博客园
阅读(782)
推荐(0)
一个动态链接的问题,dlsym后符号调用主函数的符号报告无法找到
摘要:先看看状况(小心头疼)client.c 编译得到 client;在 client 的 main 中用 dlopen( "./liba.so", RTLD_LAZY|RTLD_GLOBAL)打开 liba.so,并调用 liba.so 中的 start 函数;在 liba.so 的 start 函数中...
阅读全文
posted @
2015-01-30 15:47
单车博客园
阅读(952)
推荐(0)
检测socket链接是否断开
摘要:【解决方案】1.发送重试,由业务完成。 因为club_l5的send接口不会保留用户发送的内容,在recv失败的情况下,用户发送的数据已经丢失,所以只能由业务进行重试。 结论:否定。由于后端服务器有多台,每次发送的时候并不能不能保证连接的机器还是上次发送的那一台服务器,有可能后端所有的连接都被断开,...
阅读全文
posted @
2014-12-22 14:11
单车博客园
阅读(4157)
推荐(0)
linux C 中的volatile使用
摘要:一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1).并行设备的硬件寄存器(如:状态寄存器) 2...
阅读全文
posted @
2014-12-16 10:05
单车博客园
阅读(435)
推荐(0)
LINUX 下 ipv6 socket 编程
摘要:大家都知道,随着互联网上主机数量的增多,现有的32位IP地址已经不够用了,所以推出了下一代IP地址IPv6,写网络程序的要稍微改变一下现有的网络程序适应IPv6网络是相当容易的事。对于我们来说就是IP地址变化了,所以程序里在用到IP地址的地方做相应的改变就可以了。记住:主要是改变程序里设置IP地址和...
阅读全文
posted @
2014-11-27 14:04
单车博客园
阅读(5007)
推荐(0)
linux signal 列表
摘要:Linux 信号表Linux支持POSIX标准信号和实时信号。下面给出Linux Signal的简表,详细细节可以查看man 7 signal。默认动作的含义如下:Term 终止进程信号取值默认动作含义(发出信号的原因)SIGHUP1Term终端的挂断或进程死亡SIGINT2Term来自键盘的中断信...
阅读全文
posted @
2014-10-30 11:40
单车博客园
阅读(331)
推荐(0)
Linux下异常信号
摘要:我们介绍一些标准信号的名称以及它们代表的事件。每一个信号名称是一个代表正整数的宏,但是你不要试图去推测宏代表的具体数值,而是直接使用名称。这是因为这个数值会随不同的系统或同样系统的不同版本而不同,但是名称还算是标准化和统一的。 这些名称定义在signal.h中。 int NSIG是一个定义的宏,...
阅读全文
posted @
2014-08-22 11:15
单车博客园
阅读(1258)
推荐(0)
linux signal
摘要:当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统 会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的默认处理规则SIGPIPE信号的默认执行动作是 terminate...
阅读全文
posted @
2014-08-22 10:33
单车博客园
阅读(337)
推荐(0)
转: 关于Linux常用的二进制文件分析方法
摘要:当你在unix下拿到一个二进制文件但不知道它是什么的时候,可以通过以下方法得到一此提示 1、 最首先应该尝试strings命令,比如拿到一个叫cr1的二进制文件,可以: $ strings cr1 | more 里面可能会有一些对于这个cr1的描述,这些信息都是编译之后在程序中留下的一些文本性的...
阅读全文
posted @
2014-08-08 11:18
单车博客园
阅读(1548)
推荐(0)
转:Linux性能评测工具之一:gprof篇
摘要:1 简介改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的。GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof)。gprof 可以为 Linux平台上的程序精确分析性能瓶颈。gprof精确地给出函数被调用的时...
阅读全文
posted @
2014-08-08 10:51
单车博客园
阅读(469)
推荐(0)
makefile的语法及写法(二)
摘要:3 Makefile书写规则 -------------------------------------------------------------------------------- 规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,第一个目标会成为最终的目标。make所..
阅读全文
posted @
2014-03-20 11:09
单车博客园
阅读(268)
推荐(0)
makefile的语法及写法
摘要:什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则
阅读全文
posted @
2014-03-20 10:45
单车博客园
阅读(441)
推荐(0)
分析Linux文件rwx属性的含义
摘要:Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。 ls -l(这个参数是字母L的小写,不是数字1) 这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(一共7个栏位): 文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名 drwx------ 2 Guest users 1024 Nov 21 21:05 Mail -rwx--x--x 1 root root 89080 Nov...
阅读全文
posted @
2014-03-20 09:58
单车博客园
阅读(4937)
推荐(0)
转 Linux里设置环境变量的方法(export PATH)
摘要:1.动态库路径的设置Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径 具体操作如下export LD_LIBRARY_PATH=/home/.....(动态库的目录)不过这种设置方法只是在当前的session中有效你可以修改配置文件实现任何session都有效2.环境变量的设置一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方
阅读全文
posted @
2014-01-07 13:53
单车博客园
阅读(397)
推荐(0)
apache移植
摘要:我下载的是httpd-2.2.9.tar.gz 1. 解压httpd-2.2.9.tar.gz到/mnt/apps目录下。tar -zxvf httpd-2.2.9.tar.gz2. 建立与httpd-2.2.9平级的目录。如apache-arm3. 进入/mnt/apps/httpd-2.2.9/srclib/apr/include目录。修改apr_want.h文件。将 struct iovec { char *iov_base; size_t iov_len; };修改为 #if 0 struct iovec { char *iov_base; size_t iov_len; };...
阅读全文
posted @
2014-01-07 13:52
单车博客园
阅读(709)
推荐(0)
PHP移植
摘要:1. 首先交叉编译zlib。 CC=arm-linux-gcc ./configure --sahred --prefix=/usr/local/arm/3.4.1/arm-linux make&&make install(一开始我把zlib装在独立的目录下,编译php时在用上--with-zlib选项还是报错,后来直接安装到我交叉编译器目录/usr/local/arm/3.4.1/arm-linux下就不报错了。) 2. 接着交叉编译libxml2。 CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/loc
阅读全文
posted @
2014-01-07 13:51
单车博客园
阅读(578)
推荐(0)
SSH移植
摘要:1. 下载需要的源码,直接google最新的版本吧 mkdir -p ~/arm/fs ;mkdir -p ~/arm/source 下载zlib: zlib-1.2.3.tar.gz 下载ssl : openssl-0.9.8d.tar.gz 下载ssh : openssh-4.6p1.tar.gz2. 编译:cd ~/arm/source(1) 编译zlib : tar zxvf zlib-1.2.3.tar.gz -C . cd zlib-1.2.3/ ./configure --prefix=/home/itlanger/arm/fs/zlib-1.2.3修改Makefile : CC
阅读全文
posted @
2014-01-07 13:47
单车博客园
阅读(688)
推荐(0)
ARM PPC 交叉编译环境搭建
摘要:ARM:1,下载cross-3.4.1.tar.bz22,在/usr/local目录下建立arm目录3,将cross-3.4.1.tar.bz2拷贝到arm目录下4,tar jxvf cross-3.4.1.tar.bz2解压目录5,增加环境路径,编辑/etc/bashrc,在最后增加路径export PATH=/usr/local/arm/3.4.1/bin:$PATH6,查看环境路径echo $PATHPPC:1,下载ppc-2008-04-01_amcc.tar.gz2,在/usr/local目录下建立ppc目录3,把ppc-2008-04-01_amcc.tar.gz解压到任何路径下,
阅读全文
posted @
2014-01-07 13:41
单车博客园
阅读(801)
推荐(0)