自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gothic的专栏

刘小宇

  • 博客(166)
  • 资源 (1)
  • 收藏
  • 关注

转载 strace,ltrace linux下跟踪进程调用的命令

本工具可以用来做大多数排除,比如mount一个NFS,很慢,找不出原因,我们可以使用strace命令来跟中mount这个经常所有的调用过程。strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。  strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。  下面记录几个常用 option

2013-01-10 23:39:20 590

转载 结构体0长度数组的作用

在标准 C 和 C++ 中,不允许用 0 长度数组,但在 GNU C 中,却可以定义 0 长度数组。比如:引用 struct line {         int length;         char contents[0]; }0 长度数组不占有空间,从打印 sizeof (str

2011-06-09 17:11:00 1802

转载 类的成员函数指针

  先看这样一段代码class test { public: test(int i){ m_i=i;} test(){}; void hello() { printf("hello/n"); } private: int m_i; }; int main() {  test *p=new test();  p->hello();  p=NULL;  p->hello(); } 结果是:

2010-02-22 15:20:00 809

原创 用位运算求余数

用位运算求余数 #includeusing namespace std; *编写一个程序,将从键盘输出的一个整数值读入int型变量, *并使用按位运算符之一(不能用%运算符!)确定这个值除以8 *时的正余数。例如,29=(3*8)+5和-14=(-2*8)+2的正余数 *分别

2009-01-20 12:36:00 7531 2

转载 epoll为什么这么快

  epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,在开始讨论这个问题之前,先来解释一下为什么需要多路复用IO.以一个生活中的例子来解释.假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面.如果你使用的阻塞IO模型来处理这个问题,那么你就只能一直

2008-11-14 13:37:00 1128

转载 C代码优化方案

 C代码优化方案          华中科技大学计算机学院 姓名:    王全明QQ:       375288012Email:     [email protected]目录目录__ 2C代码优化方案__ 41、选择合适的算法和数据结构__ 42、使用尽量小的数据类型__ 53、减少运算的强度__ 5(1)、查表(游戏程序员必修课)_ 5(2)、求余运算__ 6(3)、平方运算__ 6(

2008-10-16 17:11:00 888

转载 Linux网卡驱动分析

 Linux网卡驱动分析 学习应该是一个先把问题简单化,在把问题复杂化的过程。一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉。读Linux网卡驱动也是一样。那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏便是理所当然的了。不要担心,事情总有解决的办法,先把一些我们管不着的代码切割出去,留下必须的部分,把框架掌握了,哪其他的事情自然就水到渠成了,这是笔者的心得。 一般在使

2008-09-24 15:57:00 794

转载 C++中数值--字符串间的转换

 编写代码时经常需要在数值(int, long, float, double ...)与字符串间的相互转换。C/C++中相关的转换方法主要有如下几种:    (一)、使用CRT库中的转换函数族。_itoa, _itow 及其反转换 atoi, _wtoi_ltoa, _ltow 及其反转换 atol, _wtol_ultoa, _ultow_ecvt, _fcvt, _gcvt 及其反转换 _at

2008-09-19 10:06:00 666

转载 strace命令详解

 strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。  strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。  下面记录几个常用 option .   1 -f -F选项告诉strace同时跟踪fork和vfork出来的进程  2 -o xxx.txt 输出到某个文件。  3 -e exec

2008-09-18 14:38:00 723

原创 openssl开发过程中的一些总结

1.从客户端到服务器的ssl连接的建立过程:#define     CERTFILE_PATH           "/root/CA/client.pem"#define     CERTKEY_PATH            "/root/CA/clientkey.pem"#define     CACERT_PATH             "/root/CA/cacert.pem"初始化s

2008-09-10 11:26:00 2886

转载 用OpenSSL编写SSL,TLS程序 - Win32版

 用OpenSSL编写SSL,TLS程序 - Win32版一、简介:SSL(Secure SocketLayer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版.TLS(Transport LayerSecurity)是IETF的TLS工作组在SSL3.0基础之上提出的安全通信标准,目前版本是1.0,即RFC2246.SSL/TLS提供

2008-09-10 11:19:00 1254

转载 利用openssl创建一个简单的CA

本文旨在利用开源openssl软件,在Linux(或UNIX/Cygwin)下创建一个简单的CA。我们可以利用这个CA进行PKI、数字证书相关的测试。比如,在测试用Tomcat或Apache构建HTTPS双向认证时,我们可以利用自己建立的测试CA来为服务器端颁发服务器数字证书,为客户端(浏览器)生成文件形式的数字证书(可以同时利用openssl生成客户端私钥)。  该简单的CA

2008-09-08 18:14:00 839

转载 OpenSSL证书生成

利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件.下面以C/S模式说明证书文件的生成步骤:证书文件生成:一.服务器端    1.生成服务器端的私钥(key文件);      openssl genrsa -des3 -out server.key 1024    运行时会

2008-09-02 12:26:00 2211 1

转载 快速排序法qsort

 快速排序法! cpro_client=sayyescpr;cpro_at=text_image; cpro_161=4; cpro_flush=1; cpro_w=336; cpro_h=280; cpro

2008-08-21 16:23:00 553

原创 sqlite找出时间相差3天的记录

mDate格式为  YYYY-MM-DD HH:MM:SSSELECT mDate FROM inbox WHERE (((SELECT julianday(SUBSTR(MAX(mDate),0,10)) FROM inbox) - julianday(SUBSTR(mDate,0,10)) ) > 3 );

2008-08-19 10:31:00 1191

原创 sqlite删除符合某个条件的一条或多条记录

DELETE FROM inbox WHERE localId IN(SELECT localId FROM inbox ORDER BY mDate DESC LIMIT 0,100);

2008-08-04 19:32:00 18204

转载 setsockopt的一些用法

1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用 closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BO

2008-07-12 10:07:00 977

转载 经典字符串Hash函数测试

经典字符串Hash函数测试1 概述 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1)。 设 计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无法比拟的,Hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然而 Hash函数是Hash链表最核心的部分,本文尝试分析一些经典软件中使用

2008-07-08 10:59:00 836

转载 linux文件查找命令find,xargs详述

Linux文件查找命令find,xargs详述总结:zhy2111314 来自:LinuxSir.Org 整理:北南南北 摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解;本文是zhyfly兄贴在论坛中;我对本文进行了再次整理,为方便大家阅读;目录版权声明 前言:关于find命令 一、find

2008-06-24 16:58:00 804

原创 linux下批量修改文件目录下所有cpp文件的最后更改时间

find . -name "*.cpp" -exec touch {} /;

2008-06-24 16:54:00 1544

转载 GNU Compile Tools, 可执行文件, 静态链接库, 动态链接库

新一篇: 希腊字母表 | 旧一篇: 上下文无关文法 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window

2008-06-19 17:24:00 585

转载 Linux平台Makefile文件的编写基础篇

目的:       基本掌握了 make 的用法,能在Linux系统上编程。环境:       Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。 准备:       准备三个文件:file1.c, file2.c, file2.h      file1.c:              #include              

2008-06-18 13:18:00 459

转载 TCP/IP 断开连接

四次握手: 断开连接其实从我的角度看不区分客户端和服务器端,任何一方都可以调用close(or closesocket)之类的函数开始主动终止一个连接。这里先暂时说正常情况。当调用close函数断开一个连接时,主动断开的一方发送FIN(finish报文给对方。有了之前的经验,我想你应该明白我说的FIN报文时什么东西。也就是一个设置了FIN标志位的报文段。FIN报文也可能附加用户数据,如果这一

2008-06-10 17:18:00 1540

原创 sqlite获得所有记录中指定列中的极值

SELECT min(usedDate) FROM contracts;SELECT max(usedDate) FROM contracts;

2008-05-19 16:17:00 731

原创 sqlite中获得指定数目的按条件排序后的记录

降序:select localId from inbox order by mDate DESC limit 10;升序:select localId from inbox order by mDate ASC limit 10;

2008-05-19 16:15:00 2942

转载 自增减操作符探索

有一个自定义类unsignedint表示无符号型的整数,            Unsignedint un1(1);          Unsignedint un2(1);            un1 += un2;               // un1+un2,也就是一加一如果不重载+=的话将会出错,那么要使用在的话该怎么定义呢UnsignedInt& operat

2008-05-11 14:52:00 595

转载 函数指针调用类的成员函数

    1 在每个被调用函数之前加上static, 可以使成员函数脱离对象信息单独存在,虽然它属于这个类,但是没有附带上对象信息,但是前提是,static成员函数不能使用对象的信息(成员和函数)。    2 使用一个全局函数做中转,间接调用成员函数,如下代码修改Test3:#include #include class Test3;void _cdecl Helper(Test3 *tes

2008-04-21 17:25:00 1192

转载 .bss段和.data段的区别

 .bss段和.data段的区别bss段(未手动初始化的数据)并不给该段的数据分配空间,只是记录数据所需空间的大小。data(已手动初始化的数据)段则为数据分配空间,数据保存在目标文件中。

2008-04-08 13:08:00 526

转载 关于linux下的随机数

在 linux下取随机数,当然可以简单的用rand函数,不过要注意的是一定要设置好种子,否则伪随机数就会变成非常伪的随机数。设置种子,一般就用 time函数返回当前时间即可。一般来讲,这样的做法基本上就可以了,因为虽然我们用的是随机数,但是由于种子不同,从上亿的数中去猜测我们的种子几乎是 不可能的。但是如果我们的种子算法被知道了,那么显然就不行了。当然作为某些应用也无所谓,比如我们要在屏幕

2008-04-08 11:44:00 685

转载 用rdrtc实现linux下的精确计时

在 linux开发版最长问到的问题之一就是在linux下如何得到更精确的计时。其实有很多办法,比如以前就有人用select。不过现在有更精确的实时时 钟可以用,这就是用CLOCK_PROCESS_CPUTIME_ID做参数通过timer_create来创建timer。通过 clock_getres可以得到系统的精度。实际上,上述方法底层用的就是CPU的rdtsc指令。 在linux下,可以

2008-04-08 11:43:00 734

转载 慎用strip

    strip经常用来去除目标文件中的一些符号表、调试符号表信息,以减小程序的大小,在rpmbuild包的最后就用到。其支持的选项如下:>strip -h用法:strip 输入文件从文件中删除符号和节 选项为:  -I --input-target=      Assume input file is in format   -O --output-target=     Create an

2008-04-02 12:58:00 5621

转载 DOM制作流程

 DOM制作流程项目基本结束,这个是其中系统裁减的一个总结文档,不知道有没有人感兴趣:) ============================================= 前言: 为了完成用户的需求,需制作一个完整的环境供AP运行,且存在一些约束条件。 关键字: DOM Kernel Busybox X-Window Window-Manager Interbase nvi

2008-03-31 12:38:00 7400

转载 sscanf的一些用法

sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型:Int  sscanf( string str, string fmt, mixed var1, mixed var2 ... );int  scanf( const char *format [,argument]... ); 说明:sscanf与scanf类似,都是用于输入的,只是后者以屏幕(

2008-03-02 00:06:00 586

转载 C语言宏定义技巧

1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H   //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 typedef  unsigned char      boolean;     /* Boolean value type. */   type

2008-02-20 11:07:00 691

转载 strcpy的疑问

//-----------------------------------------------------------------------------//----------------------------------------------------------------------------#include stdio.h>#include string.h>

2008-02-19 12:54:00 460

转载 教你理解复杂的C/C++声明

陆其明 译原文:http://www.codeproject.com/cpp/complex_declarations.asp 作者:Vikram A Punathambekar介绍曾 经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们将从每天都能碰到的较简单的声明入手,然后逐

2008-02-02 14:06:00 475

转载 哈希表及相关

       Hashing定义了一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。由于通过更短的哈希值比用原始值进行数据库搜索更快,这种方法一般用来在数据库中建立索引并进行搜索,同时还用在各种解密算法中。     设所有可能出现的关键字集合记为U(简称全集)。实际发生(即实际存储)的关键字集合记为K(|K|比|U|小得多)。|K|是集合K中元

2008-01-29 13:51:00 564

转载 C++的成员函数指针简要

C++的成员变量指针和普通的指针没有什么大的区别,int类型成员变量的指针就是和int *, Foo类型的成员变量的指针就是Foo *,但是成员函数就不大一样了,主要是因为非静态成员函数实际上都隐藏这一个调用对象的指针的参数。静态成员函数指针,和普通的C函数指针没什么两样class Foo{public:    static int foo();};int (*fp)() = Foo::foo

2008-01-28 10:07:00 483

转载 C/C++中的struct位结构

位结构 位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便。位结构定义的一般形式为:struct位结构名{ 数据类型 变量名: 整型常数; 数据类型 变量名: 整型常数; } 位结构变量; 其中: 数据类型必须是int(unsigned或signed)。 整型常数必须是非负的整数, 范围是0~15, 表示二进制位的个数, 即表示有多少位。变量名是选择

2008-01-13 22:32:00 1512

转载 vs2005无法调试,断点失效,设不住断点

其实问题在于,在空项目中不生成调试文件pdb,所以无法调试。要让项目生成pdb文件,需要更改:项目属性,configuration properties->linker->Generate Debug Info 从 no 改为 yes(项目属性:属性->连接器->调试->生成连接信息 改为"是")但这样还是不够的,还需要更改:项目属性,configuration properties-

2007-12-25 22:03:00 781

TCPIP 高效编程

TCPIP 高效编程 改善网络程序的 44 个方法

2012-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除