自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (4)
  • 收藏
  • 关注

原创 双缓冲初解

在使用VC开发图形相关的应用程序时,常常需要使用MFC的CDC类直接把图形画在窗口上。这通常是通过响应Windows的WM_PAINT消息实现的。如果要画的图形比较复杂,或者比较大,那么画图过程可能会造成窗口的闪烁。当窗口调整大小时,这种闪烁由为明显。解决窗口闪烁问题的有效办法就是使用内存DC,也称为缓冲DC。在内存中准备一个和窗口DC相同属性的DC,在这个内存DC上执行画图操作。完成

2012-01-12 16:01:27 818 1

转载 select、poll、epoll的比较

linux提供了select、poll、epoll接口来实现IO复用,三者的原型如下所示,本文从参数、实现、性能等方面对三者进行对比。 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);int poll(struct po

2012-01-10 10:11:29 775

转载 epoll精髓

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __

2012-01-10 10:10:49 634

转载 strace linux 下程序的系统调用和信号调用跟踪工具

strace 简介strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. strace 从内核接收信息, 而且无需以任何特别的方式来构建内核. strace 的每一行输出包括系统调用名称, 然后是参数和返回值.调用方法为:调用: strace [ -dffhiqrtttTvxx ] [ -acolumn

2012-01-10 10:01:38 986

原创 记下几个有用的函数

1:fnmatcharray fnmatch ( string pattern, string string [, int flags])fnmatch() 检查传入的 string 是否匹配给出的 shell 统配符pattern。 此函数对于文件名尤其有用,但也可以用于普通的字符串。普通用户可能习惯于 shell 模式或者至少其中最简单的形式 '?' 和'*' 通配符,

2011-12-12 15:29:19 667

转载 守护进程的创建

一. 守护进程及其特性  守护进程最重要的特性是后台运行。在这一点上DOS下的常驻内存程序TSR与之相似。其 次,守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的。最后,守护进程的启动方式有其特殊之处。它可以在Linux系统启动时从启动脚本/etc

2011-10-26 12:37:24 671

原创 pselect

pselect比select多了个信号屏蔽的功能如果在select运行的时候不想被程序中未知的信号打断出现错误,就需要在SELECT的时候屏蔽不需要的信号int pselect(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timespec *timeout, const

2011-10-26 11:47:42 1037 1

转载 sigprocmask

【sigprocmask系统调用】功能描述:设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞)。用法:#include int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);参数:how:用于指定信号修改的方式,可能选择有三种SIG_BLOCK //加入信号到进程屏蔽。SIG_UNBLOC

2011-10-26 11:40:51 816

原创 kill的一点总结

2.格式kill [ -s signal | -p ] [ -a ] pid ...kill -l [ signal ]3.参数-s:指定发送的信号。-p:模拟发送信号。-l:指定信号的名称列表。pid:要中止进程的ID号。Signal:表示信号。  kill   -0就是不发送任何信号,但是系统会进行错误检查。 所以经常用来检查一个进程是否存在,当进程

2011-10-26 10:31:10 965

原创 区别之守护进程 孤儿进程 僵尸进程

僵尸进程是 一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。孤儿进程是因为父进程异常结束了,然后被1号进程init收养。守护进程是创建守护进程时

2011-09-13 11:51:57 6746 2

转载 linux sock_raw原始套接字编程

sock_raw原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对与监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket 1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROT

2011-09-05 17:22:26 1326

原创 两个编译2.4与2.6内核模块

1:首先要确定系统上已经安装了内核头文件 ,在目录:/usr/src/include2:如果没有安装,需要先安装内核头文件,安装方法是下载rpm包:kernel-source.......rpm  然后rpm - ivh kernel-source....rpm3:写好文

2011-09-02 11:27:40 1088

原创 主机和网络字节序总结

字节序是指数据的保存顺序 最常见的有两种:1. Little endian:将低序字节存储在起始地址 2. Big endian:将高序字节存储在起始地址 LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位

2011-08-23 11:09:13 654

原创 typedef 与函数指针

typedef double *Dp;  分析: 去掉typedef  ,得到正常变量声明=> double *Dp;变量Dp的类型为double*,即pointer to double;=> "typedef double *Dp"中Dp是类型double*的一

2011-08-17 09:51:47 837

转载 我们做什么人才?看李开复北大演讲主题21世纪最需要的7种人才

<br />:红色为本人翻译<br /><br />1 创新实践者What matters is not innovation , but useful innovation。 <br />重要的不是创新,而是有用的创新<br />这个对我们大部分人来说,可以考虑先实践再创新,而不是先思考思考如何创新,再实践。先人的智慧都是来源于实践,而没有任何一个是凭空出现的。他们在实践中摸索,发现机会并创新。或推翻现有,或另辟蹊径。 <br /> <br />2 跨领域合成者What matters is not an

2011-03-08 16:51:00 152

转载 像蚂蚁一样工作,像蝴蝶一样生活

<br />本来想自己写一点感触的,不过发现已经有人写的很好了,这里转载一下吧。 <br /> <br /><br />繁琐拘束的工作与自由自在的生活。是两个相互矛盾的主题。<br />因为要自由,我们不愿意受到工作的禁锢<br />因为要生存,我们又必须接受工作的禁锢<br />每个人都喜欢美丽多彩、自由自在的生活,希望得到尽情的娱乐和享受。<br />把握好工作和生活,是每个人的必修课。<br />像蚂蚁一样工作,像蝴蝶一样生活。<br />这或许是我们协调工作与生活矛盾一个较好的态度。<br />蚂蚁

2011-03-08 16:29:00 594

转载 Math类三角函数

<br />Math类三角函数<br /><br />转载地址: http://www.poluoluo.com/jzxy/200901/55887.html<br />三角函数<br /><br />Math类为我们提供了很多数学计算函数,今天我们来了解一下三角函数。三角函数是研究三角形的边与角的关系的学科。希望不要看到这个题目就开跑,不要怕,往下看,你会复习到初中所学的三角课程,同时你会感觉到三角函数会很简单。当然所要介绍的只是正弦,余弦和反正切三个常用的函数。<br /><br />Flash为什么要

2011-03-02 11:36:00 2180

转载 在AS3中怎样把库中的元件加载舞台

<br />AS3中要加载一个显式对象(我们在舞台上看得见的东西),必须要载入一个类,然后要声明这个类的一个实例,再用new关键字创建它,最后用addChild()将它加载到舞台。我们将舞台着是一个展台,将库看着是一个仓库,现在仓库中有一台电视机要放到展台上,该怎样做呢?首先需要一个电视机类,然后需要声明一个实例:<br />      var 电视机甲(实例名):电视机(类名)= new 电视机();<br />      addChild(电视机甲);<br />现在我们回到flash中来看看,现在库中

2011-03-02 11:35:00 5459

原创 flash fscommand 命令详解

<br />fscommand 命令部分用法. <br /><br />[1]全屏播放指令: <br />fscommand("fullscreen","true"); <br />效果:flashplayer播放器将以全屏方式进行影片播放。按键盘上的Esc键可跳转回窗口状态。 <br /><br />[2]屏蔽右键菜单指令: <br />fscommand("showmenu","false"); <br />效果:当观众在flashplayer窗口中单击鼠标右键时,将不会出现快捷菜单。 <br /><b

2011-03-02 11:34:00 5448

转载 AS3中的getChildByName

<br />原文地址:http://www.richbox.net/blog/?p=303<br />在AS3中,我们可以用getChildByName来获取一个元件,但是要注意返回的类型是DisplayObject,这样一旦我们的元件中有一些自定义的方法就不能使用了。<br />比如我有一个类Ball,Ball有一个方法move,那么我可以这样写:<br />var b:Ball=new Ball();<br />addChild(b);<br />b.move();//这样没问题<br />getChi

2011-02-21 16:26:00 1278

原创 关于内存的检测

<br />http://www.ibm.com/developerworks/cn/linux/l-pow-debug/

2011-02-12 14:12:00 571

原创 笔记总结

1: 无符号长整型打印用%ul 有符号用%ld

2011-02-11 14:00:00 598

转载 网站下载工具

<br />最好用的5个网站整站下载工具推荐 <br /> <br /> <br />有的人利用整站下载工具下载网站到本地进行慢慢的欣赏,有的人利用全站下载工具创建垃圾站。不管你是出于什么样的目的,下面这些工具软件你可以会需要。<br /> <br />TeleportUltra<br />Teleport Ultra所能做的,不仅仅是离线浏览某个网页(让你离线快速浏览某个网页的内容当然是它的一项重要功能),它可以从Internet的任何地方抓回你想要的任何文件,它可以在你指定的时间自动登录到你指定的网站下

2011-02-11 10:07:00 1103

转载 Linux启动过程详解

转帖地址:  http://roclinux.cn/?p=1301启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。启动第二步--读取MBR众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是51

2011-01-24 11:50:00 629

原创 一些有用的命令

1:diff查找多个文件间的区别2:wc统计文件的行数netstat -n |wc -l3:PS1修改终端的导航条的显示4:

2011-01-21 10:25:00 541

原创 电子信息相关总结

<br /><br />1:上拉电阻<br />http://topic.csdn.net/u/20090308/19/88b9ac76-eca8-45ed-ba56-a57bb47c368f.html

2011-01-21 09:30:00 744

转载 Crontab实例

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: my_tag("gg_468_60",1); /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 你也可以将这个服务在系统

2011-01-19 10:49:00 534

原创 shell笔记总结

1:实现命令的重定向到变量test=$(ps -A |grep adpush)echo $testif [ "$test" == "" ]; thenecho "no   =="elseecho $testfi

2010-12-21 15:43:00 873

原创 使用 ipmitool 实现远程管理Dell 系列服务器

<br /> <br />IBM 文档:       http://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html<br />ipmi命令收集: http://hi.baidu.com/guizishou/blog/item/d0c2a2440c10d58bb2b7dc29.html<br /> <br /> <br />先贴上网上一般的教程:<br />设置方法:<br /><br /><br />网线一定要插到1号口,因为只有插到1号口远程管理

2010-12-15 17:54:00 17879

原创 pcap文件的格式和分析

这个主要是从winshark里保存的.pcap 文件进行反向读取winshark:http://wiki.wireshark.org/Development/LibpcapFileFormat一、基本格式:文件头 数据包头 数据报 数据包头 数据报......二、文件头结构体:sturct pcap_file_header{DWORD              magic;      WORD                 version_major;      WORD                

2010-10-25 16:55:00 1615

原创 码元速率的计算

码元传输速率计算及运用看到BBS中有人在提及码元传输速率的计算,这个问题在历年的考试中多多少少都有涉及,故在这里详细介绍一下。并以例子说明。<br /><br />码元传输速率又称波特率,有些书上叫做传码率或调制速率,记作RB以波形每秒的振荡数来衡量。如果数据不压缩,波特率等于每秒钟传输的数据位数,如果数据进行了压缩,那么每秒钟传输的数据位数通常大于调制速率,使得交换使用波特和比特/秒偶尔会产生错误。波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示,其单位是波特(Baud)。<

2010-10-22 18:59:00 20705 1

原创 短信猫的短信简单操作

#include     #include     #include     #include     #include     #include     #include     #include     char ipdata[17];char phone[12];int  fd1;long speed_arr[] = { B115200,B38400, B19200, B9600, B4800, B2400, B1200, B300,     B38400, B19200, B9600, B4800,

2010-10-15 14:33:00 694

原创 结构体的应用更新

<br />struct can_filter {  <br />struct id_filter fid[CAN_FILTER_REG_NUM];  <br />unsigned sidmask:11;  <br />unsigned eidmask:18;  <br />unsigned mode:2; <br />}; <br />.cpp中是<br />struct can_filter not_filter = {<br />.sidmask = 0,<br />.eidmask = 0,<br

2010-09-28 09:08:00 813

转载 TCP/IP协议头部结构体(转)

<br />// i386 is little_endian.<br />#ifndef LITTLE_ENDIAN<br />#define LITTLE_ENDIAN   (1)   //BYTE ORDER<br />#else<br />#error Redefine LITTLE_ORDER<br />#endif<br /> <br /> <br />//Mac头部,总长度14字节<br />typedef struct _eth_hdr<br />{<br />unsigned char ds

2010-09-17 17:08:00 743

转载 P2P 之 UDP穿透NAT的原理与实现(附源代码)

<br />P2P 之 UDP穿透NAT的原理与实现(附源代码)<br />原创:shootingstars<br />参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt<br /> <br /><br />论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。<br /> <br />首先先介绍一些基本概念:<br />    NAT

2010-08-30 16:18:00 517

转载 #pragma pack(n)------内存对齐问题

<br />在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同<br /> <br />为了能使CPU对变量进行高效快速的访问,变量的起始地址应该具有某些特性,即所谓的“对齐”。例如对于4字节的int类型变量,其起始地址应位于4字

2010-08-24 10:22:00 644

原创 extern的总结

<br />在刚接触的项目中,同事对extern的使用错误导致我冤枉花了近4个小时去发现错误,痛心啊,<br />总结下extern的使用吧:<br /> <br />    extern用在变量和函数在别的文件中需要调用时<br /> <br />1:变量<br /> <br />在一个源文件里定义了一个数组: char a[6]; <br /> <br />在另外一个文件里用下列语句进行了声明:  extern char *a; <br /> <br />请问,这样可以吗? <br />答案与分析:  

2010-08-20 20:53:00 605

转载 Linux查找文件内容的常用命令方法

学习find和grep命令的使用:从文件内容查找匹配指定字符串的行:            $ grep "被查找的字符串" 文件名从文件内容查找与正则表达式匹配的行:           $ grep –e “正则表达式” 文件名查找时不区分大小写:           $ grep –i "被查找的字符串" 文件名查找匹配的行数:           $ grep -c "被查找的字符串" 文件名从文件内容查找不匹配指定字符串的行:           $ grep –v "被查找的字符串" 文件名从根

2010-08-15 10:26:00 717

转载 网卡配置

# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+DEVICE=eth0                             接口名称BOOTPROTO=none                  静态配置,若该值为“dhcp”则为动态获得,另外 static也是表示静态ip地址BROADCAST=192.168.10.255  广播地址,通过IP地址和子网掩码自动计算得到HWADDR=00:13:D3:27:9F:80  IPADDR=192

2010-08-04 18:31:00 676

原创 mysql使用总结--不停更新中

1:创建用户的权限 / 设置MySql允许外部连接的方法mysql>GRANT FILE ON *.* TO [email protected] IDENTIFIED BY ‘1234’; 开放一个账号backup密码1234给来自IP:192.168.1.200有档案处理的权限格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";mysql>;gr

2010-07-28 12:52:00 622

电总协议的门禁完整程序

门禁程序,采用MSP430F169单片机,利用单片机自身的FLASH存储卡号和刷卡记录。完全根据电总协议而写!

2014-07-04

Linux内核分析、移植、驱动

详细了解 Linux 内核的 移植 和驱动的编写分析

2010-03-19

QT环境搭建 版本4.5.3

详细解说 QT -x11的环境搭建, 版本是4.5.3,目前算通用

2010-03-17

arm 通用指令集详细文档

包含arm的通用的几乎所有的指令集,chm格式

2010-03-17

空空如也

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

TA关注的人

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