自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小小鸟

算法效率,代码质量

  • 博客(59)
  • 收藏
  • 关注

转载 int, float, double之间不得不说的故事

抱歉我用了一个这么“二”的题目,不过二点就二点吧,希望内容还不算太二。  其实学习过编程的同学,都对这三个东西再熟悉不过了。int,又称作整型,在.net中特指的是Int32,为32位长度的有符号整型变量。float,单精度浮点数,32位长度,1位符号位,8位指数位与23位数据位,在.net中又称为Single。double,64位长度的双精度浮点数,1位符号位,11位指数位,52位数据位。它

2014-01-11 23:04:43 1048

转载 为什么学C++比C#的长期风险低

语言之争是程序员永远不会疲倦的闲暇话题,初学者的语言选择也是大家所津津乐道的。回望近年来,随着微软.net战略的来势汹汹,不少初学者都喜欢以C#作为自己的第一门语言。在这样的大环境之下,讨论C++还有什么意义么?     在瞎扯这个问题之前,我们先来看看为啥初学者都选择C#。估计原因很简单,就是入门容易。当然,这容易是相对于C++而言的。如果学C++,你肯定要看《C++ prime

2014-01-05 22:06:11 905

转载 Ubuntu下deb包的安装方法

deb是debian linux的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knoppix 等。以下是一些 Dpkg 的普通用法:

2014-01-04 22:00:02 557

原创 Linux c编程一站式学习笔记(09),段错误

以下内容是>的学习摘录与笔记。首先是先了解一下什么是MMU((Memory Management Unit,), 及有和没有MMU的情况,为什么要有MMU首先引入两个概念,虚拟地址和物理地址。如果处理器没有MMU, 或者有MMU但没有启用, CPU执行单元发出的内存地址将直接传到芯片引脚上,被内存芯片(以下称为物理内存,以便与虚拟内存区分)接收,这称为物理地址(Physical Addre

2014-01-04 07:25:18 997

原创 分布式系统概念与设计学习(01),本书概要与基础概念

最近开课High Performance Networking, 平时读读>这本书, 由于阅读的是英文版本,我的总结和摘录也就中英混杂了,还请各位见谅,希望能够帮助到需要的人。书本概要: We begin with a set of seven chapters that together cover the building blocks for a study of distribut

2014-01-04 05:18:05 2523

原创 Linux c编程一站式学习笔记(08), 几个运算符

这个是>中的总结,有较多摘录, 详细请查看原书246页(一)逗号运算符(CommaOperator)也是一种双目运算符,它的形式是表达式1,表达式2,两个表达式不要求类型一致,左边的表达式1先求值,求完了直接把值丢掉,再求右边表达式2的值作为整个表达式的值。逗号运算符是左结合的,类似于+- * /运算符,根据组合规则可以写出表达式1,表达式2,表达式3,...,表达式n这种

2014-01-03 05:48:05 627

原创 Linux c编程一站式学习笔记(07), Side Effect,Short-circuit与SequencePoint小结

这个是>, 详细请查看原书Side Effect,Short-circuit与SequencePoint这个是有sideeffect的一段代码:int a=0;a = (++a)+(++a)+(++a)+(++a);答案应该是Undefined,下面解释为什么是Undefined。我们知道,调用一个函数可能产生SideEffect,使用某些运算符(++-- =复合赋

2014-01-03 05:44:06 1013

原创 Linux c编程一站式学习笔记(06), 位移操作

本文源于本人>总结笔记(一) 位运算注意,&、|、^运算符都是要做UsualArithmetic Conversion的(其中有一步是IntegerPromotion),~运算符也要做IntegerPromotion,所以在C语言中其实并不存在8位整数的位运算,操作数在做位运算之前都至少被提升为int型了,上面用8位整数举例只是为了书写方便。比如:#include

2014-01-03 05:06:38 1609

原创 mysql学习(二),用户数据库交互

在连接到服务器后,就可以发布查询了。本节介绍有关与mysql交互应该了解的一些知识。为了在mysql中输入一个查询,只需键入它即可。在查询的结尾处,键入一个分号(“;”)并按Enter键。分号告诉mysql该查询是完整的。(如果您喜欢键入两个字符的话,也可以使用“g”终止查询。)在键入一个查询之后,mysql将其发送到服务器上。该服务器处理此查询并将结果送回mysql,

2014-01-03 01:10:35 968

原创 Mysql学习(一),新建用户,授权,删除用户,修改密码

1.新建用户。如上所示,先用root用户登录,然后创建用户如上图所示,创建用户king,密码:king421然后刷新系统权限表,如下图所示:测试一下新创建用户测试登录成功。2.为用户授权以root身份登录mysql进行授权,mysql中用户有权限规则:权限1,权限2,…权限n代表select,insert,update,del

2014-01-02 23:07:20 1009

转载 什么是awk

你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是具有独立意义的英文单词,也不是几个相关单词的缩写。事实上,awk是三个人名的缩写,他们是:Aho、(Peter)Weinberg和(Brain)Kernighan。正是这三个人创造

2014-01-02 05:48:09 1060

转载 常用awk命令

awk 用法:awk ' pattern {action} '  变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符 

2014-01-02 05:46:41 473

原创 Linux c编程一站式学习笔记(05), 两个程序对比Continue和Break

/*Break*/#include int main(){ int i; i = 0; while(i<20) { printf("%d ", i); i++; if(i == 10) break; //printf("%d ", i); } printf("\

2014-01-02 05:39:39 506

原创 Linux c编程一站式学习笔记(04), debug

#include void foo(void) { int i; printf("%d\n",i); i = 777; } int main(void) { foo(); foo(); return 0; } 这个是"linuxc一站式学习"中的一个小程序,主要是为了讲局部变量的初始化。但是也有bug分析的哲学在里面,

2014-01-02 05:34:41 723

原创 Linux c编程一站式学习笔记(03), 变量注意点

局部变量可以用类型相符的任意表达式来初始话,而全局变量只能用常量表达式(ConstantExpression)初始化。例如:全局变量pi这样初始化是合法的:double pi = 3.14 +0.0016;但是这样初始化是不合法的:double pi =acos(-1.0);局部变量这样初始话却是可以的。程序开始运行是要用适当的值来初始化全局变量,所以初始值必须保存在编译生成的

2014-01-02 05:31:54 910

转载 c 中变量

局部变量,全局变量(转)一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放存放:函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类

2014-01-02 05:30:42 806

原创 Linux c编程一站式学习笔记(02), Return语句

函数的返回值应该这样理解:函数返回一个值相当于定义一个和返回值类型相同的临时变量并用return后面的表达式来初始化首先提纲挈领的说一下要点:1. 函数返回一个值相当于定义一个和返回值类型相同的临时变量并用return后面的表达式来初始化, 注意return只是传值操作。2. 当检查到一个错误时提前结束当前函数的执行并返回。下面通过一个可以运行的例子来说:#includ

2013-12-30 05:35:24 1054

原创 Linux c编程一站式学习笔记(01), switch语句

最近在读这本书, 其中有自己的以前没有掌握好的就写道博客里跟大家分享了.示例程序1.#includevoid print_day(int day){ switch(day) { case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: prin

2013-12-30 04:12:25 632

转载 C++常用字符串长度计算函数

字符串的长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目。常见的获取字符串长度的方法包括如下几种。    1.使用sizeof获取字符串长度sizeof的含义很明确,它用以获取字符数组的字节数(当然包括结束符\0)。对于ANSI字符串和UNICODE字符串,形式如下:    sizeof(cs)/sizeof(char)    sizeof(ws)/siz

2013-12-29 06:03:26 15850

转载 Ubuntu 12.04下安装OpenCV 2.4.2

1)在安装OpenCV前需要安装的软件包有GCC4.4.X or later,可通过命令sudo apt-get install build-essential安装CMake2.6 or laterSVN客户端GTK+2.Xor higher, including headers(libgtk2.0-dev)pkgconfigPython2.6 or

2013-10-20 04:00:58 567

转载 brk() 与 sbrk()

brk() , sbrk() 的声明如下:[cpp] view plaincopy#include   int brk(void *addr);  void *sbrk(intptr_t increment);  这两个函数都用来改变 "program break" (程序间断点)的位置,这个位置可参考下图:

2013-10-20 02:58:55 1168

转载 oracle scott 用户锁定

原因:默认Oracle10g的scott不能登陆。 解决:(1)conn sys/sys as sysdba;//以DBA的身份登录(2)alter user scott account unlock;// 然后解锁(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了 具体操作步骤如下:C:> sqlplus请输入用户名:sys输入口令:s

2013-07-15 22:19:33 854

原创 C++,字符区别

字符类型: char在C中,诸如’a’这样的字符文字的类型是int, 使得许多C 程序员吃惊不已,但这种方法却能在C语言中很好地运行。在C++中,类型为int的字符文字在函数重载中就不适用:void print(inti);         //prints numbervoid  print (char c);   //prints charactermain () {   

2013-07-11 10:17:04 630

原创 C++ 0:空指针

0:空指针在C和C++中,有关指针的上下文中出现的0代表空指针:int i =0;             //i now contains theinteger zerochar*s=0;        //s now contains the nullpointer(注3: 不要认为0是一个地址,尽管空指针实现时常被作为地址0,但是实际上不必这样。)这里0是用作整数的,它代

2013-07-11 10:15:13 884

原创 C++ 函数

函数的变化正确的抽象机制要求你使用函数调用来隐藏实现代码。为了管理你将用到的所有函数,C++加强了对函数类型的要求。在使用函数之前,你必须声明它,包括它的参数类型。然而这里还有一定的灵活性,你可以赋予两个函数相同的名字,只要能够根据它们的参数将其区分开。函数声明函数声明(declaration)或称为函数原型(prototype)说明的是函数接口而不是函数主体。在C++或ANSI/

2013-07-11 09:34:32 669

原创 不含类的C++

新型的注释C++添加了一种新型的注释,它以双斜杠(//)开头,在一行的结尾处结束:/*这是一条C和C++中的注释,在此结束->*/int five= 2+2;//这是一条C++中的注释,在本行结尾处结束->新的注释类型很短小,仅有一行的注释(如变量声明)是最为有用的。旧注释类型在注释内容超过一行是仍然是需要的。个人的喜好决定了你何时使用哪种类型的注释。 struct、enu

2013-07-11 08:52:16 720

转载 Linux xargs命令

xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。xargs 是一个强有力的

2013-06-15 15:53:16 508

转载 Shell for&while 循环详细总结

Shell for&while 循环详细总结#!/usr/bin/ksh#数字段形式for i in {1..10}do   echo $idone#详细列出(字符且项数不多)for File in 1 2 3 4 5 do     echo $File done#对存在的文件进行循环for shname in `ls *.s

2013-06-15 09:51:06 449

转载 常用awk命令

awk 用法:awk ' pattern {action} '  变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符

2013-06-15 09:48:43 484

转载 什么是awk?

你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是具有独立意义的英文单词,也不是几个相关单词的缩写。事实上,awk是三个人名的缩写,他们是:Aho、(Peter)Weinberg和(Brain)Kernighan。正是这三个人创造

2013-06-15 09:47:49 539

原创 CentOS5下XEN虚拟机的安装和配置

CentOS5下XEN虚拟机的安装和配置一、安装Xen安装Xen需要的服务# yum –y install xen*安装Xen的相关内核# yum -y install kernel-xen二,检查Xen的相关内核是否启动       查看/boot目录,看Xen 内核是否正常安装#ls –lh /boottotal 9.5M-rw-r--r-- 1 roo

2013-06-10 14:29:11 699

原创 Centos 6.4 Xen环境搭建

一,下载必要的安装包xen和内核都是编译安装,由于在Centos6.0之后,默认支持的虚拟化是KVM,源里面的libvirt默认是不支持xen的。xen:http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gzkernel:http://www.kernel.org/pub/linux/kernel/v3.0/li

2013-06-10 14:27:09 3145

转载 linux 提示符的修改

bash提示符的配置: 如果您很容易使 shell 提示行变得色彩绚烂斓且带有更多信息,为什么还要坚持用单调的标准 shell 提示行呢?在这篇技巧中,Daniel Robbins 将说明如何获得符合您的意愿的 shell 提示行,并会说明如何动态更新 X 终端的标题栏。作为 Linux/UNIX 人,我们有很长的时间是在 shell 中工作,并且在许多情况下,下面这一行就

2013-06-09 12:07:32 771

原创 linux下的一款上传,下载软件

有了这款软件之后,可以直接使用rz ,sz 命令

2013-06-09 08:56:26 481

转载 xen 安装2003 server

单位有一台浪潮520D服务器,由于只跑单一服务,并且安装的是32位2003,无法识别8G内存,只能使用4G。最近由于要实验许多软件,服务器有点捉襟见肘。领导同意我的使用Rhel5,利用xen 虚拟多个操作系统来解决现在的问题。首先,很容易的安装64位rhel5,并且安装xen。安装完毕后,进入系统,发现xen无法完全虚拟化(使用xen虚拟windwos,需要使用完全虚拟化,并且需要

2013-06-08 22:24:40 1009

原创

我们已经了解了什么是OOP,现在来看一下C++在C中添加了什么来支持OOP。扩充的基本概念是类(class)。类描述了对象的形式和行为。它就像一个分类,从中你可以挤出任意多的对象,想要多少都可以。从语法上讲,C++的类就像C的结构。它有几点直接的扩展之处以便于实现OOP。一个栈的类如下所示:class Stack{ //class definitionpublic: //acces

2013-06-08 22:01:08 672

转载 Linux下磁盘操作

由于VMware虚拟机中安装Xen时磁盘空间无法满足使用,所以通过VMware添加了一块磁盘,现在要做的工作就是把这块硬盘让系统识别然后加载到系统中。下面是在网上找的一篇很好的介绍的文章,跟大家分享了,也谢谢原创。一、硬盘分区 | Hard disk add new partition1、显

2013-06-08 21:34:42 723

原创 Cenos6.0以上 Xen安装

Centos 6.4  Xen环境搭建一,下载必要的安装包xen和内核都是编译安装,由于在Centos6.0之后,默认支持的虚拟化是KVM,源里面的libvirt默认是不支持xen的。xen:http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gzkernel:http://www.kernel.org/pub

2013-06-08 21:22:02 966

原创 面向对象

面向对象程序设计的重点在于对象,是对象构成了程序,而不是函数和数据。一个对象可以表达真实生活中的某个概念,诸如汽车或太阳系,也可以表达更为抽象的东西,像数字栈或者排序引擎等。每一个对象都有一套定义明确的能力,如一辆汽车可以启动、停止和转弯,而一个栈则可以推入或者弹出数据等。OOP是由创建这些对象并使得他们协调工作而构成的。你可以使用OOP创建一个完全实用的程序,也可以提供一个对象的集合以向别人

2013-06-07 23:19:29 435

转载 Libvirt编译安装

安装环境:  Ubuntu12.04 Server安装包:     libvirt-1.0.0 2012.12.22更新:libvirt版本的发布速度很快,不过安装方法基本是不变的,如不想花大把时间看完一下全文,这里总结一点:正确安装libvirt的前提是要有如下依赖包:gcc、make、pkg-config、libxml2-dev、libgnutls-dev、libdev

2013-06-06 21:42:02 1246

空空如也

空空如也

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

TA关注的人

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