12 2010 档案
摘要:实现代码实例程序代码:#include <stdio.h>#include <stdlib.h>#include <sys/types.h>/***** cplusplus *****/#if 0#include <iostream> using namespace std;#endif// 得到指定地址上的一个字节或字#define MEM_B(x) (*((byte *)(x))) #define MEM_W(x) (*((word *)(x)))// 得到一个field在结构体(struct)中的偏移量#define FPOS(type,
阅读全文
摘要:知识背景:210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式。英语叫做IPv4 numbers-and-dots notation。如果把210.25.132.181转换为整数形式,是3524887733,这个就是整数形式的IP地址。英语叫做binary data。(其实binary是二进制的意思)详细介绍,请参考:网络字节序与主机字节序的转换问题所在:如何在字符串形式的IP和整数形式的IP之间转换呢?转换函数:int inet_aton(const char *cp, struct in_addr *inp);in_addr_t inet_addr(const ch
阅读全文
摘要:名称:kill使用权限:所有使用者使用方式:kill [ -s signal | -p ] [ -a ] pid ...kill -l [ signal ]说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号把计-s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用 kill -l-p : 印出 pid , 并不送出信号-l (signal) : 列出所有可用的信号名称范例:将 p
阅读全文
摘要:ASCII 是一种字符集,包括大小写的英文字母、数字、控制字符等,它用一个字节表示,范围是 0-127Unicode分为UTF-8和UTF-16。UTF-8变长度的,最多 6 个字节,小于 127 的字符用一个字节表示,与 ASCII 字符集的结果一样,ASCII 编码下的英语文本不需要修改就可以当作 UTF-8 编码进行处理。Python 从 2.2 开始支持 Unicode ,函数 decode( char_set )可以实现 其它编码到 Unicode 的转换,函数 encode( char_set )实现 Unicode 到其它编码方式的转换。比如 ("你好").d
阅读全文
摘要:这些函数的区别在于 实现功能 以及 操作对象 不同。strcpy 函数操作的对象是 字符串,完成 从 源字符串 到 目的字符串 的 拷贝 功能。snprintf 函数操作的对象 不限于字符串:虽然目的对象是字符串,但是源对象可以是字符串、也可以是任意基本类型的数据。这个函数主要用来实现 (字符串或基本数据类型)向 字符串 的转换 功能。如果源对象是字符串,并且指定 %s 格式符,也可实现字符串拷贝功能。memcpy 函数顾名思义就是 内存拷贝,实现 将一个 内存块 的内容复制到另一个 内存块 这一功能。内存块由其首地址以及长度确定。程序中出现的实体对象,不论是什么类型,其最终表现就是在内存中占
阅读全文
摘要:linux 下查看cpu位数 内核等参数命令 #uname -aLinux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux(查看当前操作系统内核信息)#cat /etc/issue | grep LinuxRed Hat Enterprise Linux AS release 4 (Nahant Update 5)(查看当前操作系统发行版信息)#cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c8Intel(R) Xeon(
阅读全文
摘要:UNICODE,GBK,UTF-8区别简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf-8码完全只针对uncode来组织的,如果GBK要转UTF-8必须先转uncode码,再转utf-8就OK了.详细的就见下面转的这篇文章.谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词这是一篇程序员写给程序员的趣味读物。所谓趣味是
阅读全文
摘要:1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题为什么标准头文件都有类似以下的结构?#ifndef __INCvxWorksh#define __INCvxWorksh#ifdef __cp
阅读全文
摘要:Source:#!/bin/env python# coding=gb2312# -*- coding: gb2312 -*-from __future__ import division#### if-else ####print '#### if-else ####'a = input("a: ") # 12 or 10+2b = input("b: ")if(a>b): print "max: ", aelse: print "max: ", b#### if-elif-else ###
阅读全文
摘要:简介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++编程语言学习资
阅读全文