- 博客(95)
- 资源 (1)
- 收藏
- 关注
转载 atoi函数
C语言库函数名: atoi 功 能: 把字符串转换成整型数. 名字来源:array to integer 的缩写. 原型: int atoi(const char *nptr); 函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时
2012-06-14 15:55:12
723
转载 atoi函数
C语言库函数名: atoi 功 能: 把字符串转换成整型数. 名字来源:array to integer 的缩写. 原型: int atoi(const char *nptr); 函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时
2012-06-14 15:54:54
205
转载 linux消息队列操作
对消息队列的操作无非有下面三种类型:1、 打开或创建消息队列消息队列的内核持续性要求每个消息队列都在系统范围内对应唯一的键值,所以,要获得一个消息队列的描述字,只需提供该消息队列的键值即可;注:消息队列描述字是由在系统范围内唯一的键值生成的,而键值可以看作对应系统内的一条路经。2、 读写操作消息读写操作非常简单,对开发人员来说,每个消息都类似如下的数据结构:
2012-06-13 19:57:42
640
原创 S_ISREG等几个常见的宏
来自百度文库:http://wenku.baidu.com/view/31777dc1d5bbfd0a795673b1.htmlstat函数讲解:表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结
2012-06-03 16:25:53
13377
原创 linux下文件传输程序
//客户端#include#include#include#include#include#include//#include#include#include #include #include #define PORT 1234#define MAXDATASIZE 100int main(int argc,char *argv[])
2012-06-03 15:14:24
873
原创 Linux下创建文件、并往文件中写入数据的小程序
#include #include #include #include #include //创建文件void create_file(char *filename){if(creat(filename,0755){printf("create file %s failure!\n",filename);exit(EXIT_FAILURE);}e
2012-06-01 15:16:51
9315
转载 main(int argc,char *argv[ ])中的参数说明
main(int argc,char *argv[ ])argv为指针的指针argc为整数char **argv or: char *argv[] or: char argv[][]main()括号内是固定的写法。下面给出一个例子来理解这两个参数的用法:假设程序的名称为prog,当只输入prog,则由操作系统传来的参数为:argc=1,表示只有一程序名称。arg
2012-06-01 11:43:16
689
转载 C语言指针学习笔记
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标 准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可 以说是相反的。右左法则的英文原文是这样说的:The right-left rule: Start read
2012-06-01 11:29:53
490
转载 linux文件编程
linux中文件编程可以使用两种方法:1.Linux系统调用 2.C语言库函数。系统调用是基于linux系统的,它不能跨系统使用。c语言库函数在各个系统都能使用。下面先介绍基于系统调用的文件编程。1.文件的创建.int creat(const char *filename,mode_t mode)filename:要创建的文件名(包含路径,缺省为当前路径)mode:
2012-06-01 10:52:12
353
转载 用Unix的设计思想来应对多变的需求
转自酷壳 --陈浩 之前,@风枫峰 在“这是谁的错?”中说过开发团队对需求来者不拒,而@weidagang 也在“需求变更和IoC”中说过用IoC来最大程度地解决需求变更。今天我也想从Unix设计思想的角度来说说什么是好的软件设计,什么样的设计可以把需求变更对开发的影响降低。(注意:这并不能解决用户或是PM的无理需求,面对无理需求,需要仔细分析需求,而用技术的手段无法搞定这个事,但是可以减
2012-06-01 09:48:34
457
转载 fopen函数的几种模式说明
mode有下列几种形态字符串: r 以只读方式打开文件,该文件必须存在。 r+ 以可读写方式打开文件,该文件必须存在。 rb+ 读写打开一个二进制文件,允许读数据。 rw+ 读写打开一个文本文件,允许读和写。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可
2012-05-31 16:07:40
867
原创 管道客户服务端程序
管道包括无名管道和有名管道(FIFO),前者只能用于父进程和子进程之间的通信,后者可用于运行同一系统中的任意两个进程间通信。注意:必须在系统调用fork()前调用pipe(),否则子进程将不会继承文件描述符(fd[0],fd[1]),否则,则是创建两个管道。#include #include #include #include #include #include #include
2012-05-25 21:36:39
766
转载 前向引用声明
前向引用声明 2008-04-16 16:04:20类间的交叉引用的情况, 需要前向引用声明. 前向引用声明不能声明该类的对象, 也不能在内联成员函数中使用该类的对象, 只能声明该类的指针, 引用, 函数形参和返回类型.// Right.h /////////////////////////////////////////// no #include "L
2012-05-24 19:21:25
1925
转载 C++中类的声明
可以声明一个类而不定义它 class Screen;//declaration of the Screen class 这个声明,有时候被称为前向声明(forward declaration),在程序中引入了类类型的Screen.在声明之后,定义之前,类Screen是一个不完全类型(incompete type),即已知Screen是一个类型,但不知道包含哪些成员. 不完全
2012-05-24 18:00:57
31777
转载 类成员函数作为其他类的友元函数的实现(c++语言)
关于类成员函数作为友元函数的编写方法(1) 单文件编译#include using std::cout;class One; //Another中使用One的引用,故前向引用声明class Another{private:int n;public:Another(): n(2){}
2012-05-23 21:16:12
1439
转载 VC6.0中友元函数无法访问类私有成员的解决办法-------VC6.0的bug
举个例子: #includeusing namespace std;class cylinder{ friend istream operator>>(istream& is,cylinder &cy);public: inline double square() { return length*(width+height)*2+width
2012-05-22 20:15:04
1127
原创 一个简单的c++程序
#include using namespace std;class vehicle{protected:int wheels;int weight;public:virtual void display(){cout<<wheels<<weight<<endl;}vehicle(){wheels = 1;weight = 2;}~vehicle(){cout<<"释放12";
2012-05-20 15:24:13
572
原创 用原始套接字收发数据包程序
通常我们看到的socket是拆包后的,只能看到用户数据,原始套接字raw就是给你看最原始的,以方便你进行干预。从用户的角度来看,SOCK_STREAM、SOCK_DGRAM这两类套接字似乎的确涵盖了TCP/IP应用的全部,因为基于TCP/IP的应用,从 协议栈的层次上讲,在传输层的确只可能建立于TCP或UDP协议之上(图),而SOCK_STREAM、SOCK_DGRAM又分别对应于TCP和 UDP
2012-05-12 16:04:31
3155
转载 linux内核驱动makefile
Kbuild Makefile简要总结 Linux2.4内核中,模块的编译只需要内核源码头文件,并在包括linux/modules.h头文件之前定义MODULES,且其编译、连接后生成的内核模块后缀为.o。而在2.6内核中,模块的编译需要依赖配置过的内核源码,编译过程首先会到内核源码目标下,读取顶层的Makefile文件,且编译、连接后生成的内核模块后缀为.ko 2.4内核
2012-04-26 20:02:33
833
原创 2.6.8.1版本内核下编写一个内核模块程序
#include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){ printk(KERN_ALERT "Hello, world\n"); return 0;}static void hello_exit(void){ printk(KERN_
2012-04-19 23:02:14
467
转载 TCP通信中,服务器端实现方式(SELECT)
我们在进行TCP通信时,当服务器端(监听一个端口)需要处理来自多个客户端的连接请求时,可以有三种方式:1.为每一个客户端的连接建立一个进程。2.为每个客户端的连接建立一个线程。3.采用SELECT函数,用单进程完成。 为每个来自客户端的连接建立一个进程或线程的方式实现较为简单,但是对于像嵌入式系统这样的环境来说,这两种方式开销较大。SEL
2012-02-14 09:44:58
464
转载 fd_set
select()机制中提供一fd_set的数据结构,实际上是一long类型的数组,每一个数组元素都能与一打开的文件句柄(不管是socket句柄,还是其他文件或命名管道或设备句柄)建立联系,建立联系的工作由程序员完成,当调用select()时,由内核根据IO状态修改fd_set的内容,由此来通知执行了select()的进程哪一socket或文件可读。 fd_set set;
2012-02-13 15:36:54
384
转载 Setsockopt选项详解
有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的选项了. 以下资料均从网上收集得到setsockopt:设置套接口的选项。getsockopt 和 setsockopt获得套接口选项:int getsockopt ( int sockfd, int level, int optname, void * optval, sock
2011-12-02 10:41:08
846
转载 BSS段、数据段、代码段、堆与栈详解
BSS 段:BSS 段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS 是英文Block Started by Symbol 的简称。BSS 段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text segm
2011-11-28 09:14:40
760
转载 条件编译
排版不相互嵌套 条件编译关键字语句顶格左对齐; 所含的#include语句(块) #define语句(块)甚至是被嵌套下级条件编译语句块,按照语句块嵌套的排版方式进行缩进排版 。函数体外 这种情况下,条件编译语句块不影响函数体 条件编译关键字语句顶格左对齐; 所含的函数体定义无需缩进,依旧按照单个函数体定义的排版方式进行。
2011-11-24 14:56:44
584
转载 #define,const,typedef的区别
#define,const,typedef的区别#define 并不是定义变量, 只是用来做文本替换 例如: #define PI 3.1415926 float angel; angel= 30*PI/180; 那么,当程序进行编译的时候,编译器会首先将 “#define PI 3.1415926”以后的,所有代码中的“Pi”全部换成 “3.1415
2011-11-24 14:46:06
2360
原创 Linux下两台笔记本电脑adhoc模式搭建局域网跟adhoc无线自组织网络
1,准备工作两台电脑无线网卡均配置成adhoc模式,选择信道6,ESSID为long. (信道6是我电脑旁边无线路由器所在的信道,不清楚它是否会对无线路由信号产生干扰,当然目前我把无线路由器电源拔了。)A主机网卡配置为:IP=192.168.1.14,NETMASK=255.255.255.0,GATEWAY=192.168.1.1B主机网卡配置为:IP=192.168.1.11,NE
2011-11-24 14:23:08
2620
原创 linux中设置网卡IP地址
操作系统:红帽企业版这是个很简单的问题,曾经让我郁闷了个把小时。如下图所示,我曾经经常静态设置好IP地址后,确定,再点击 “激活” 。结果在终端中输入ifconfig eth0发现IP地址没变于是ifconfig eth0 down 再ifconfig eth0 up 发现IP地址还是没变。最后就是 设置好IP地址后,先 “解除”,再 “激活” 。发现就好了。呵呵。
2011-11-23 20:50:21
1180
转载 traceroute的一些用法
traceroute 跟踪数据包到达网络主机所经过的路由工具;traceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。traceroute 的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为 38个字节。traceroute [参数选项] hostname,域名或 IP地址参
2011-11-22 09:29:17
17253
转载 如何理解ip路由和操作linux的路由表
来自http://blog.chinaunix.net/space.php?uid=8504518&do=blog&id=2030490 路由是选择一条数据包传输路径的过程,也就是说主机怎么向目的地发送数据的过程。当TCP/IP主机发送IP数据包时,便出现了路由,且当到达IP路由器时还会再次出现。路由器是从一个物理网向另一个物理网发送数据包的装置,路由器通常被称为网关,它承但着
2011-11-15 09:36:02
1205
原创 安装intel PRO/wireless 2200BG Network connection 无线网卡驱动
作者: Maril 出自: http://www.linuxdiyf.com首先需要下载Intel® PRO/Wireless 2200BG Driver Firmware,地址:http://ipw2200.sourceforge.net/firmware.php。对于etch 2.6.18内核,由于自带的ipw2200驱动版本是1.1.2kmq,所以应该下载3.0版本
2011-11-14 14:41:29
16031
原创 aodv-uu-0.9.6中的reademe文件
Introduction============This is an AODV implementation developed at Uppsala University,Sweden, with some funding from Ericsson AB. It has been developedmainly for use in the APE testbed, h
2011-11-10 14:09:40
2643
原创 安装mac80211子系统
红帽系统 2.6.20版本内核因为是电脑是英特尔的无线网卡,在装无线网卡驱动前,要装mac80211子系统。下面是mac80211子系统reademe的截图。我是按照reademe来装的。make patch_kernel再切换到源码目录下make menuconfig时出错我看了下错误原因是因为没有那个文件。根据错误提示,我看了下Kco
2011-11-07 21:01:19
2123
原创 红帽linux安装intel(R) wifi link 5100 AGN总结
我是用红帽企业版,linux2.6.9版本内核笔记本的无线网卡驱动型号为:intel(R) wifi link 5100 AGN。首先到因特尔官网查看了下有没有驱动下载,于是便进入到下面这个页面http://www.intellinuxwireless.org/?p=iwlwifi 通过此网址进入页面。下面这一段就是刚刚这个页面显示的内容,我把它复制下来了。/*注
2011-11-07 20:38:16
7811
原创 aodv-uu-0.9.6中的readme.ns
/*在网络仿真器ns-2中运行AODV-UU*/Running AODV-UU in the Network Simulator ns-2=============================================/*AODV-UU可以被用作网络仿真器ns-2中的移动节点路由代理*/AODV-UU can be used as a routing agent fo
2011-11-07 19:20:09
1615
原创 红帽linux安装intel(R) wifi link 5100 AGN总结
我是用红帽企业版,linux2.6.9版本内核笔记本的无线网卡驱动型号为:intel(R) wifi link 5100 AGN。首先到因特尔官网查看了下有没有驱动下载,于是便进入到下面这个页面http://www.intellinuxwireless.org/?p=iwlwifi 通过此网址进入页面。下面这一段就是刚刚这个页面显示的内容,我把它复制下来了。/*注
2011-11-07 09:45:46
2217
转载 iwlwifi-1.2.25中的INSTALL文件
Intel Wireless Link Wifi (iwlwifi) driver for Linux* in support of:Intel(R) Wireless WiFi Link 4965AGNIntel(R) PRO/Wireless 3945ABG/BG Network Connection AdapterCopyright (C) 2005 - 2007
2011-11-02 11:22:08
1131
原创 iwlwifi-1.2.25中的README.iwlwifi
我的网卡驱动是intel(R) wifi link 5100 AGN,下载链接:点击打开链接Driver Snapshots - only for kernels 2.6.18 to 2.6.23Current stable is version 1.2.0Installation instructions iwl
2011-11-02 10:05:35
1553
转载 grep的用法
功能说明:查找文件里符合条件的字符串。 语 法:grep [-abcEFGhHilLnqrsvVwxy] [-A][-B][-C][-d][-e][-f][--help][范本样式][文件或目录...]如果要在一个或几个文本文件中查找一字符串,可以使用‘grep’命令。grep pattern filenamegrep pattern filename1 file
2011-10-31 18:18:34
564
转载 生成补丁 与 打补丁 diff patch
有两个目录 每个目录中有一个相同名字的文件 但是内容 是些地方有差别,我们以此来做实验 验证diff patch 这两个命令目录1:/you 包含file.c 这个文件比下面的file.c文件 多了一段代码 模仿我们在更新文件时 在源文件上做的修改//////////////////////#include "delegation.h"static int nfs_lock(
2011-10-27 10:16:36
3313
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人