- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 lamp搭建
一、安装apache安装apr:1.4./configure --prefix=/usr/local/apr安装apr-util:1.5./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr安装pcre:pcre-8.33./configure --prefix=/usr/loca
2013-09-02 10:59:19
379
转载 gdb打印内存
x/16bx address单字节16进制打印address地址处的长度为16的空间的内存,16表示空间长度,不是16进制,x表示16进制,b表示byte单字节
2012-04-16 20:09:41
1393
原创 object-c学习记录
由于如今ios开发比较火热,作为程序员,多懂几门技术也是必备技能。因此打算这段时间学一学ios开发。一个ios开发的朋友推荐了两本书。《object c 基础教程》和《iphone 5 开发基础教程》。于是这两天开始看object c总结下obj-c:1、面向对象,使用对象前,用alloc分配,然后用对象的指针进行操作2、函数调用用[ ],感觉有点想lisp3、类定义用inter
2012-04-08 10:56:57
497
原创 tcp/udp缓冲区
一、tcp:1、tcp每个套接字都有一个缓冲区,当应用进程调用write时便把应用层的数据写入套接字的缓冲区;2、如果套接字的缓冲区容不下应用层的数据,则write阻塞。write返回只表示将数据写到了套接口缓冲区,并不表示发送出去;3、套接字的缓冲区里的数据需收到接收方的确认消息(ack)才会删除缓冲区里的数据。二、udp:1、udp是不可靠的,因此无需缓
2012-04-01 19:59:20
1998
tcp/udp缓冲区
一、tcp:1、tcp每个套接字都有一个缓冲区,当应用进程调用write时便把应用层的数据写入套接字的缓冲区2、如果套接字的缓冲区容不下应用层的数据,则write阻塞。write返回只表示将数据写到了套接口缓冲区,并不表示发送出去3、套接字的缓冲区里的数据需收到接收方的确认消息(ack)才会删除缓冲区里的数据二、udp:1、udp是不可靠的,因此无需缓冲区保存应用层传过来的数据
2012-04-01 19:28:49
268
转载 tcp/ip各种数据包结构体
From:http://blog.youkuaiyun.com/hzb1983/archive/2009/06/22/4288530.aspxhttp://wenku.baidu.com/view/46c180c7aa00b52acfc7ca0b.html下面这些TCP/IP数据包是我在进行Socket及Wipcap网络编程过程中曾经用到过的数据包结构体, 这些东西平时看起来不起眼,真正用到的时候就会
2012-03-30 20:48:21
1745
转载 top使用
先来一些CentOS(Linux)的基础知识:用top命令查看CPU使用率 CentOS 是 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在 RHEL 的基础上修正了不少已知的 Bug ,相对于其他 Linux 发
2011-10-18 20:05:27
463
转载 看每个cpu使用率
1. Linux下,如何看每个CPU的使用率:#top -d 1之后按下数字1. 则显示多个CPU (top后按1也一样)Cpu0 : 1.0%us, 3.0%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si,
2011-10-18 19:41:56
1040
原创 linux 链接时出现“undefined”
今天遇到一个很纠结的问题。引用一个库,链接的时候出现未定义。首先排除了库的路径没有问题,难道是库本身有问题?用readelf查看,库中的确是有对该函数的定义的。纠结了半天,最后发现这个库是c语言的,我包含头文件的时候没有用extern "C",问题就在这里,加上后,问题得以解
2011-10-04 17:51:56
588
原创 linux共享内存
linux共享内存使用:头文件:#include 1、创建共享内存:int shmget(key_t key, size_t size, int shmflg);创建成功以后会返回一个共享内存id,创建失败返回-1。2、获取共享内存:void *shmat
2011-09-12 20:07:40
475
原创 linux svn安装
今天在linux (CentOS release 5.6 )下配置了一个svn服务器。以下为主要的步骤。1、安装apahce:要能访问svn,首先的装apache服务器。 2、安装mod_dav_svn模块:同时apache需要加载mod_dav_svn和mod_authz_svn.so模块。在我的机器上没有mod_dav_svn这个模块。因此我用yum install m
2011-06-08 17:20:00
401
原创 linux 动态库的查找顺序
<br />在linux中,动态库的查找循序如下(在ubuntu和centos中测试):<br />1、用g++直接编译:<br />LD_LIBRARY_PATH中找,/etc/ld.so.conf中的路径中找,标准路径(如/usr/lib)中找。<br />2、用cmake编译:<br />在cmake中指定的路径中找,LD_LIBRARY_PATH中找,/etc/ld.so.conf中的路径中找,标准路径<br />(如/usr/lib)中找。
2011-04-02 10:01:00
818
原创 c++函数返回值与引用
对于函数的返回值,看似简单,但并非如此,比如:int func(int a);该函数会返回一个int型,如果进行一个调用int result=func(3);会发生什么情况?首先,func将返回值复制到一个匿名临时变量中,在这里假设该临时变量为anony(其实是没有名字的,这里方便阐述);然后,再将anony的值复制到result,可以看出,这里是进行了两次复制的。而并非一次复制。对于返回引用的函数:int & func(int &a);比如该函数传入一个int的引用,然后再func中修改它,再返回其引用,
2011-01-25 10:44:00
7352
1
转载 linux c中用匹配符搜索文件
<br />在linux编程中,有时候会用到批量处理文件。比如写一个上传工具,用户输入文件名,如果此时用户使用的是匹配的文件名,那么程序应该做到根据匹配字符串自动搜索符合要求的文件名的功能。<br />linux有一个glob函数,可以做到这一点,该函数位于头文件glob.h中<br />事例:<br />#include <iostream><br />#include <string><br />#include <glob.h><br />using namespace std;<br /> <br
2011-01-17 10:12:00
2226
原创 shell编程1
<br />1、双引号:<br />双引号内的内容除了$,转义符/,倒引号`这三个保留特殊功能,其他的均作为普通字符。<br />2、单引号:<br />单引号里的内容全部作为普通字符。<br />3、倒引号:<br />引号内的内容当做shell命令行来解释。<br />4、美元符$:<br />变量符,如$a表示变量a的值。变量字符长度超过1个时,用{}括起来。<br />5、变量:<br />本地变量:只能在创建它们的shell中使用。<br />变量的声明及赋值:变量=值。<br />变量的引用:$
2011-01-04 16:22:00
400
原创 c库不正确问题
在linux下面变成,有时候在一个发行版本上编译通过,并且可以运行,但是将程序拷贝到另一个linux发行版本上运行时,有可能会出现如下错误:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found。这是因为不同发行版本使用的c库不一样。遇到这种情况,只能在不同发行版本下分别编译程序。
2011-01-04 16:02:00
392
转载 学习视频
<br />计算机类全部,机械类,土木建筑类,财经管类 ,电气类,法学类 ,广告类,医学,心理学,大学英语,大学物理,高等数学,大学化学,哲学 应有尽有) <br /><br /><br />计算机类 <br />数据结构 (37课时) <br />http://www.da-fan-shu.cn/20100415_952/<br /><br />汇编语言 (44课时) <br /><br />http://www.da-fan-shu.cn/20100415_948/<br /><br />计算机组成原理
2010-09-29 09:17:00
284
原创 fstream,ifstream,ofstream
<br />c++ 个类叫做fstream,该函数可以打开一个文件作为流。创建一个对象,然后调用该对象的open函数,主要有两个参数,第一个参数是字符串,表示文件的地址,第二个参数是代开方式,如:<br />fstream fin("a.txt",ios::in);<br />if(fin)<br />{<br /> cout<<"opened"<<endl;<br /> fin.close();<br />}<br />else<br />{<br /> cout<<"
2010-08-23 14:47:00
389
原创 初始化类的引用成员变量
我们知道,在c++的类中,不能在声明变量时直接将给其赋值。但是引用变量和常量必须在声明时赋值。为了解决这个问题,可以再构造函数时使用初始化类表方式(引用变量和常量必须使用这种方式)。如:类的声明: Class Test { public: Test(int a,int& b, int c);// pr
2009-12-09 09:51:00
2585
翻译 动态分配二维数组
静态的分配一个二维数组很简单,如: int[3][4];但是动态分配二维数组有点复杂,不能写成:double **arr=new double[m][n]; 可以用如下的函数动态分配二维数组:int ** dyn_di(int m,int n){ int *arr = new int[m*n];//分配存储数据的单元 int **a = new int*
2009-12-04 09:20:00
361
原创 指针常量和常量指针
const char * p;//指针常量(指向一个常量的指针) p="abc"; //p[1]=e; 错,指向的是常量,不能改变其值 char * const ptr = "abc";//常量指针//ptr = "ab"; 错,常量指针的指向不能被修改// char *const pt; 错,常量在定义时便应该初始化
2009-11-18 09:10:00
263
原创 今天搜狐的一道有趣的题
今天去了重大笔试搜狐,我报的时程序专员,考了很多c++的题。有一段时间没有看c++了,有一些搞忘了。搜狐出的题也很有意思,其中有一道题如下: 程序填空,在一个字符数组中,找出第一只出现一次的字符。如abacedb;则返回的是c char get(const char * s){ int i=0; int ch[256]; 1、(
2009-11-14 22:32:00
515
原创 显示调用构造函数和析构函数
前两天去hp面试,有个题问构造函数和析构函数可不可以显示调用。 回来上网查了下,原来两个都是可以显示调用的。如下:class A{ public: A() { cout } ~A() { cout }}; v
2009-10-18 13:07:00
1893
原创 私有成员的访问
一般来说,私有成员只能在类内部访问,而不能在类外部访问,比如:class test{public: test(int x) { a=x; } private: int a;}void main(){ test t(1); cout}但是:如果class test{public: test(int x) { a=x; } int add(test t) { retur
2009-09-30 13:12:00
354
原创 enum
枚举类的定义格式如下:enmu tt{a,b,c,d=0,e};其中a,b,c,d,e分别对应0,1,2,0,1。申明变量:tt m=a;tt m=0;//错误的赋值不能将整形赋给枚举变量,但是可以将整形与枚举变量进行比较,如:if(m==0);if(m>0);
2009-09-30 12:07:00
240
原创 指针数组和数组指针
指针数组是一个数组的每个元素都是一个指针;如: int *p[5];数组p含有5个元素,每个元素都是一个int类型的指针。 数组指针是一个指针指向一个数组;如:int (*P)[5];int a[5];p=&a;p是一个指向一个有5个元素的int数组; 注意:虽然 cout虽然a也是地址,a和&a值一样,但是p= a; 这样的赋值会报错。必
2009-09-27 19:49:00
242
原创 assert
assert函数定义在头文件中,它是程序员在调试程序时,用于提醒自己错误在哪里的一个手段,在软件发布时这段代码会被去掉。和try....catch语句不同。后者可以在catch语句块中处理异常。而前者只要不满足assert中的条件直接退出程序。而且后者会随着程序一起发布。 举例:比如在调用一个函数时,传输的参数是一个指针,则可以用assert语句 void t
2009-09-08 23:05:00
286
转载 struct 与typdef struct的区别
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。 二、 typed
2008-12-10 16:12:00
887
转载 java 环境变量设置
首先介绍一下环境变量的设置方法:(这里以jdk1.6来安装,其他版本一样)在把jdk安装到计算机中之后,我们来进行设置使java环境能够使用。 首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量需要设置三个属性“JAVA_HOME”、“path”、“classpath”,其中在没安装过jdk的环境下。path属性是本来存在的。
2008-11-24 22:32:00
343
转载 海盗分金等
海盗分金问题 Description:传说,从前有五个海盗抢得了100枚金币.他们通过了一个如何确定选用谁的分配方案的安排.即: 1.抽签决定各人的号码(1,2,3,4,5);2.先由1号提出分配方案,然后5个人表决.当且仅当超过半数人同意时,方案才算被通过,否则他将被扔入大海喂鲨鱼;3.当1号死后,再由2号提方案,4个人表决,当且仅当超过半数同意时,方案才算通过,否则2号同样将被扔入大海喂鲨鱼
2008-11-24 22:23:00
385
原创 cin
cin.get()用于接收一个字符而且他可以接受空格、tab、回车。cin.get()接收字符(可以输入一串,它将输入的字符串放入输入流队列中,每调用cin.get()从队列中取出一个字符)。在输入时,遇到空格、tab、回车便结束此次输入。例:char a;int b;a=cin.get();coutb=cin.get();cout在运行时:输入a[回车],得到结果是:a
2008-11-19 22:23:00
397
转载 c++对数组的引用
所谓数组引用,即指向数组的引用;如 int a[10] ; int (&b)[10] = a ;如果写成 int a[10] ; int* &b = a ;将会报错: cannot convert from int [10] to int *&。 或许你会说在数组名不就是指向这个数组的一个指针吗?题中a是int*类型的,b是
2008-10-28 00:11:00
16796
2
转载 c++中求数组长度
int a[10]; sizeof(a) 就是数组所占用的字节数 也就是长度 在32位机器上是40 如果你要求的是当前数组中元素的个数,可以用 个数 = sizeof(a)/sizeof(int) 如果是 char a[10] 就是 sizeof(a)/sizeof(char)
2008-10-26 12:49:00
2110
原创 enum(枚举类型)
最近在看一本《数据结构与c++程序设计》的时候看到一个程序段里出现了enum,当时不知道什么意思,在网上查资料。有网友给出的一下解释。 枚举类型,就是整型的一种延伸而已, 是自定义的一种数据类型。 如: #include enum color {red,green,blue}; void main() { enum color c=red; printf("%d",c); } 则
2008-10-26 00:11:00
336
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人