摘要:
简介POSIX thread 简称为pthread,Posix线程是一个POSIX标准线程.该标准定义内部API创建和操纵线程.作用 线程库实行了POSIX线程标准通常称为pthreads.pthreads是最常用的POSIX系统如Linux和Unix,而微软Windowsimplementations同时存在.举例来说,pthreads-w32可支持MIDP的pthread Pthreads定义了一套 C程序语言类型、函数与常量,它以 pthread.h 头文件和一个线程库实现。 数据类型 pthread_t:线程句柄 pthread_attr_t:线程属性 线程操纵函数(简介起见,... 阅读全文
摘要:
在对IP地址结构体SOCKADDR_IN赋值的时候,经常会用到下列的函数htonl,htons,inet_addr,与之相对应的函数是ntohl,ntohs,inet_ntoa。查看这些函数的解析,会发现这些函数其实是与主机字节序和网络字节序之间转换有关。就是什么网络字节序,什么是主机字节序呢?下面我写出他们之间的转换:用IP地址127.0.0.1为例:第一步 127 . 0 . 0 . 1 把IP地址每一部分转换为8位的二进制数。第二步 01111111 00000000 00000000 00000001 = 2130706433(主机字节序)然后把上面的四部分二进制数从右往左按部分重新排 阅读全文
摘要:
1. du命令详细用法常用命令:[b]du[/b] –a查询档案或目录的磁盘使用空间a:显示全部目录和其次目录下的每个档案所占的磁盘空间b:大小用bytes来表示 (默认值为k bytes)c:最后再加上总计 (默认值)s:只显示各档案大小的总合x:只计算同属同一个档案系统的档案L:计算所有的档案大小引用指令 du 能以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小。使用 -h 参数来显示 human-readable 的格式。例如:# du -h /etc104K /etc/defaults6.0K /etc/X11在查看目录的使用情形时,我们可以将输出结果导到 so 阅读全文
摘要:
简介:Linux® 内核是一个庞大而复杂的操作系统的核心,不过尽管庞大,但是却采用子系统和分层的概念很好地进行了组织。在本文中,您将探索 Linux 内核的总体结构,并学习一些主要的子系统和核心接口。由于本文的目标是对 Linux 内核进行介绍并探索其体系结构和主要组件,因此首先回顾一下 Linux 的简短历史,然后从较高的层次审视 Linux 内核的体系结构,最后介绍它的主要子系统。Linux 内核具有超过 600 万行的代码,因此本文不可能进行完整的介绍。请使用指向其他内容的链接进一步学习。尽管 Linux 绝对是最流行的开源操作系统,但是相对于其他操作系统的漫长历史来说,Lin 阅读全文
摘要:
TCP三次握手TCP连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换TCP窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:1.客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。2.服务器收到客户端发送过来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,其中包含它选择的初始序列号y、对客户端的序列号的确认x+1和一个窗口大小(表示服务器上用来存储从客户端发送来的传入段的缓冲区的大小)。3. .客户端接收到服务器端返回的SY 阅读全文
摘要:
学习C++和编程的50个观点http://www.programfan.com/club/showtxt.asp?id=32668推荐C++教程(综合了好几个人的推荐)http://www.programfan.com/blog/article.asp?id=7907研发推荐书籍介绍http://www.sudu.cn/info/html/edu/20080403/261058.htmlC++学习推荐书目http://hi.baidu.com/optical_engineering/blog/item/b5bf69347bbf6e3d5bb5f5a4.html撼世出击:C/C++编程语言学习资 阅读全文
摘要:
本文结合大量实例阐述如何编写一个shell脚本。 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 下面,让我们一起来看看shell是如何工作的: 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在... 阅读全文
摘要:
本篇文章主要教你如何使用Vim分屏功能分屏启动Vim使用大写的o参数来上下分屏。vim -on file1 file2 ...使用小写的O参数来左右分屏。vim -On file1 file2 ...注释:n是数字,表示分成几个屏。关闭分屏关闭当前窗口。Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctrl+W q分屏上下分割当前打开的文件。Ctrl+W s上下分割,并打开一个新的文件。:sp filename左右分割当前打开的文件。Ctrl+W v左右分割,并打开一个新的文件。:vsp filename移动光标Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先 阅读全文
摘要:
Linux操作系统下的多线程编程详细解析----条件变量1.初始化条件变量pthread_cond_init#include <pthread.h>int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则条件变量的属性将由cattr中的属性值来决定。调用 pthread_cond_init函数时,参数cattr为空指针等价于cattr中的属性为缺省属性,只是前者 阅读全文
摘要:
C++纯虚函数 virtual =0参考:http://hi.baidu.com/cunlin/blog/item/d82b160102e0e4037aec2ccb.html(百度空间)=========================================================================C++中的纯虚函数在C++中的一种函数申明被称之为:纯虚函数(pure virtual function).它的申明格式如下:class CShape{public: virtual void Show()=0;};注意红色部分,在普通的虚函数后面加上"=0 阅读全文