自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 CRC 16位校验

/* CRC 高位字节值表 */ const unsigned char code auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x

2015-05-25 16:01:28 1328

原创 bool

C语言中没有bool类型。使用的时候用任意整型变量即可,包括char,int,long,short int都可以。C语言的逻辑判断只是判断0或非0,只要能保存整型数据的变量类型都可以作为布尔型使用。 用特殊色彩标记关键字的功能是编辑器的功能而非编译器的功能,因为C++有bool类型,因此bool会被编辑器标亮,但是C语言编译器是不会认识这个关键字的。C语言中只有Boolean 数据类型 Boo

2015-05-21 10:39:06 449

转载 enum在编程中的应用(c、c++)

如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。   举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pencil,pen};//这

2015-05-21 10:30:12 409

原创 QT——QWidget、QMainWindow、 QDialog用法区别解析

QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。     QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口

2015-05-21 10:05:26 643

转载 QT--QString

今天要说的是QString。之所以把QString单独拿出来,是因为string是很常用的一个数据结构,甚至在很多语言中,比如JavaScript,都是把string作为一种同int等一样的基本数据结构来实现的。每一个GUI程序都需要string,这些string可以用在界面上的提示语,也可以用作一般的数据结构。C++语言提供了两种字符串的实现:C风格的字符串,以'\0‘结尾;std::s

2015-05-21 09:55:29 406

原创 APUE--sigaction函数的使用

sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口)给信号signum设置新的信号处理函数act, 同时保留该信号原有的信号处理函数oldactint sigaction(int signo,const struct

2015-05-18 21:44:46 446

转载 APUE--kill 和kill -9 的区别

有时候我们使用kill无法杀掉一个进程,但是用kill -9却可以,why?     首先看一下kill的功能,man手册对kill描述如下:[cpp] view plaincopyKILL(1)                                          Linux User's Manual         

2015-05-18 20:57:10 376

转载 APUE--捕捉SIGUSR1和SIGUSR2的简单程序

include #include #include static void sig_usr(int);int main(void){if(signal(SIGUSR1, sig_usr) == SIG_ERR)printf("can't catch SIGUSR1\n");if(signal(SIGUSR2, sig_usr) == SIG_ERR)pr

2015-05-18 20:56:03 726

转载 APUE——信号发送函数kill,raise,pause,alarm

kil和raisekill()用来向进程或进程组发送信号raise()用来向自身进程发送信号。[cpp] view plaincopy#include   int kill(pid_t pid,int signo);  int raise(int signo);

2015-05-18 20:52:18 380

转载 udp服务端和客户端程序设计

UDP服务器端程序设计一、实验目的学习和掌握Linux下的UDP服务器基本原理和基本编程方法,体会与TCP的区别,TCP编程:http://blog.csdn.net/yueguanghaidao/article/details/7035248二、实验平台ubuntu-8.04操作系统三、实验内容编写Linux下UDP服务器套接字程序,服务器接收客户

2015-05-14 22:06:49 704

转载 linux epoll的用法

epoll的使用:#include int epoll_create(int size);int epoll_create1(int flags);int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);int epoll_wait(int epfd, struct epoll_event *even

2015-05-14 17:03:41 507

转载 套接字IO超时设置方法和用select实现超时

一、使用alarm 函数设置超时 C++ Code 12345678910111213void handler(int sig){}signal(SIGALRM, handler);alarm(5);int ret = read(fd, buf, sizeof

2015-05-14 16:49:49 654

原创 signal

sig是传递给它的唯一参数。执行了signal()调用后,进程只要接收到类型为sig的信号,不管其正在执行程序的哪一部分,就立即执行func()函数。当func()函数执行结束后,控制权返回进程被中断的那一点继续执行。表头文件#include功 能:设置某一信号的对应动作函数原型:void (*signal(int signum,void(* handler)(int)

2015-05-12 11:04:46 414

转载 套接字

6.1  库函数综述6.1.1  套接字函数表6.1  Windows Sockets 1.1版本的Berkeley Sockets函数accept() *确认外来连接,并将它与一个立即建立的数据套接字联系起来。原始套接字返回到监听状态。bind()给未命名套接字赋一个本地名。closesocket() *

2015-05-12 09:11:18 770 1

频率 频点 频道的概念区别

详细解释频率 频点 频道这三个极重要又容易混淆的概念

2015-08-07

空空如也

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

TA关注的人

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