随笔分类 -  总结

摘要:本文转自:http://blog.csdn.net/kofiory/article/details/5790409strerror(errno):获取errno对应的错误/****************************获取错误代码描述**************/#include <string.h>#include <errno.h> /* for strerror */#include <stdio.h>int main(int argc, char ** argv){ int i = 0; for(i = 0; i < 256; i++ 阅读全文
posted @ 2011-08-02 17:52 LittleAnt 阅读(100453) 评论(1) 推荐(1) 编辑
摘要:1, man 介绍 Linux提供了丰富的帮助手册,当你需要查看某个命令,某个函数的使用方法时,不必在网上到处查找,只要man一下即可。 Linux的man手册共有以下几个章节: 1) Standard Commands (标准命令) 2) System Calls (系统调用) 3) Library Functions (库函数) 4) Special Devices (设备说明) 5) File Formats (文件格式) 6) Games and Toys (游戏和娱乐) 7) Miscellaneous (杂项) 8) Administrative Commands (管理员命令)2 阅读全文
posted @ 2011-08-02 17:44 LittleAnt 阅读(1094) 评论(0) 推荐(0) 编辑
摘要:1 int system(const char * cmdstring) 2 { 3 pid_t pid; 4 int status; 5 6 if(cmdstring == NULL) 7 { 8 return (1); 9 }10 11 if ((pid = fork())<0)12 {13 status = -1;14 }15 else if (pid == 0)16 {17 execl("/bin/sh", "sh", "-c", cmdstring, (char *)0);18 _exit(127);19 }20 el 阅读全文
posted @ 2011-07-26 09:56 LittleAnt 阅读(857) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://blog.sina.com.cn/s/blog_4c88d09a0100l9p5.html1. 析构函数和虚析构函数 如果基类的析构函数是虚的,那么它的派生类的析构函数都是虚的 这将导致:当派生类析构的时候,它的所有的基类的析构函数都将得到调用 否则,只调用派生类的析构函数(这可能导致基类的某些对象没有得到释放) 所以CObject类的析构函数是虚的,所有由它派生的类析构的时候一级一级的进行,不会造成内存泄漏。 无论基类的析构函数是否为虚析构函数. 基类的析构函数总是会被自动调用的;但是, 如果用基类指针去操作一个了派生类对象,如果不为虚就不能保证派生类的析构函数被调用 阅读全文
posted @ 2011-07-26 09:48 LittleAnt 阅读(1869) 评论(0) 推荐(2) 编辑
摘要:转自:http://club.topsage.com/thread-356160-1-1.htmlLighttpd (发音为lighty) 是一个德国人领导的开源软件,以BSD许可证发行。其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的Web Server环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。本文将和大家一起在Ubuntu 阅读全文
posted @ 2011-07-12 09:58 LittleAnt 阅读(633) 评论(0) 推荐(0) 编辑
摘要:1,展开头文件2,编译cpp文件3,链接在编译的时候如果需要外部类型,编译器会做一个标记,留待链接器来处理。链接器如果找不到需要的外部类型就会发生链接错误。对于模板,单独的模板代码不能被正确编译的,需要一个实例化器产生一个模板实例后才能编译。因此,不能寄希望于链接器来链接模板的成员函数,必须保证在实例化模板的地方模板代码是可见的。 阅读全文
posted @ 2011-06-10 11:30 LittleAnt 阅读(195) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.csdn.net/rogeryi/archive/2006/12/12/1439597.aspx另有一篇文章也值得一读:C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一编译单元中重复引用,不具名空间:http://www.cnblogs.com/rocketfan/archive/2009/10/02/1577361.html这篇文章很大程度是受到Exceptional C++ (Hurb99)书中第四章 Compiler Firewalls and the Pimpl Idiom (编译器防火墙和Pimpl惯用法) 的启发,这一章讲述了减少编译时依 阅读全文
posted @ 2011-06-07 14:56 LittleAnt 阅读(818) 评论(0) 推荐(0) 编辑
摘要:转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 <xianjimli at hotmail dot com>昨天同事问了我一个问题,有两个循环语句:for(i = n; i > 0; i){…}for(i = 0; i < n; i++){…}为什么前者比后者快?我当时的解释是:i操作本身会影响CPSR(当前程序状态寄存器),CPSR常见的标志有N(结果为负), Z(结果为0),C(有进位),O(有溢出)。i > 0,可以直接通过Z标志判断出来。i++操作也会影响CPSR(当前程序状态寄存器),但只 阅读全文
posted @ 2011-06-03 11:46 LittleAnt 阅读(288) 评论(0) 推荐(0) 编辑
摘要:向量夹角公式: cosα = A*B / (|A|*|B|) 设A(x1,y1),B(x2,y2); cosα =(x1*x2 + y1*y2) / sqrt( (x1^2 + y1^2) * (x2^2 + y2^2) )代码实现(c++):#include <math.h> //Calcucate angle between vector A and B//返回角度; return degreeint CalculateVectorAngle(int x1, int y1, int x2, int y2){ //acos return radian,we should tran 阅读全文
posted @ 2011-05-27 23:33 LittleAnt 阅读(10194) 评论(2) 推荐(0) 编辑
摘要:1,判断两矩形区域是否相交不考虑矩形是斜的情况,但是看别人写的代码都比较复杂,所以不敢肯定百分之百正确,有认为是错误的请留言,多谢!代码实现(c++)struct RECT{ int left; int top; int right; int bottom;};//judge whether two rects intersectbool IsIntersect(RECT &rect1, RECT &rect2){ return !(rect1.left > rect2.right || rect2.left > rect1.right || \ rect1.top 阅读全文
posted @ 2011-05-27 23:32 LittleAnt 阅读(1497) 评论(0) 推荐(0) 编辑
摘要:参考http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx1,vim配置创建文件夹:~/.vim创建文件:~/.vimrc在~/.vimrc中设置vim基本配置 语法高亮: syntax enable syntax on tab替换成空格,且tab宽度设为2 set ts=2 set sw=2 set expandtab 设置显示行号 set nu2, 安装使用Ctags在http://ctags.sourceforge.net下载Ctags。用下面的命令解压安装:$ tar -xzvf ctags-5.6.tar.gz$ cd c 阅读全文
posted @ 2011-05-26 20:38 LittleAnt 阅读(4622) 评论(0) 推荐(0) 编辑
摘要:时间关系,先贴个URL:http://blog.csdn.net/zhanghefu/archive/2008/05/30/2496735.aspx周末再来整理 阅读全文
posted @ 2011-05-26 20:27 LittleAnt 阅读(164) 评论(0) 推荐(0) 编辑
摘要:今天做字符串模糊匹配,需要用到求字符串相似度的相关算法,特意了解了一下。字符串相似度算法介绍:http://blog.csdn.net/dongle2001/archive/2007/01/02/1472235.aspx http://blog.csdn.net/tanhua103292/archive/2009/08/06/4419494.aspxLevenshtein Distance 算法 维基百科上面解释得比较清楚 http://en.wikipedia.org/wiki/Levenshtein_distanceThe AlgorithmStepsStepDescription1Set 阅读全文
posted @ 2011-05-26 20:20 LittleAnt 阅读(323) 评论(0) 推荐(0) 编辑
摘要:昨天临时有事,没来得及贴上昨天的总结,今天补上。一直以为将-1变为1只要 &0x7FFFFFFF就行了,发现结果不对,突然想起在绝大多数机器上有符号整数是以补码的形式存放的。今天有个求绝对值的操作,想来用判断语句的话效率肯定不高,想了解abs()是如何来求绝对值的并且看看它的效率如何,所以反汇编出来看了下:sar $0x1f,%edxxor %edx,%eaxsub %edx,%eax对应c语言://求int a的绝对值b = a >> 31;a = a ^ b;a = a - b;起初还没想透为什么这样就能得到绝对值,再细想,对右移理解有误(微机原理忘光了,汗颜)。要理解 阅读全文
posted @ 2011-05-26 20:08 LittleAnt 阅读(1278) 评论(0) 推荐(0) 编辑
摘要:pthread 线程有两种状态,joinable(非分离)状态和detachable(分离)状态,默认为joinable。 joinable:当线程函数自己返回退出或pthread_exit时都不会释放线程所用资源,包括栈,线程描述符等(有人说有8k多,未经验证)。 detachable:线程结束时会自动释放资源。Linux man page said:When a joinable thread terminates, its memory resources (thread descriptor and stack) are not deallocated until another th 阅读全文
posted @ 2011-05-24 14:49 LittleAnt 阅读(3348) 评论(0) 推荐(0) 编辑