自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++中的异常(exception)

C++实践1.简介<br />    异常是由语言提供的运行时刻错误处理的一种方式。提到错误处理,即使不提到异常,你大概也已经有了丰富的经验,但是为了可以清楚的看到异常的好处,我们还是不妨来回顾一下常用的以及不常用的错误处理方式。1.1 常用的错误处理方式<br />返回值。我们常用函数的返回值来标志成功或者失败,甚至是失败的原因。但是这种做法最大的问题是如果调用者不主动检查返回值也是可以被编译器接受的,你也奈何不了他:) 这在C++中还导致另外一个问题,就是重载函数不能只有不同的返回值,而有相

2011-01-16 22:47:00 863

原创 字长

<br />   我们通常说的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。 <br /><br />通用寄存器:<br />  通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只

2011-01-14 17:03:00 11845 1

原创 C++问题集

<br />1:C和C++有什么区别: <br /> C++支持面向对象的编程,同时兼容C语言的面向过程编程 <br /><br /> 2:VB和C++有什么区别: <br /> VB是一门基于对象语言,有对象和类的概念,但是对于继承、多态实现的不好 <br /><br /> 3:VC和C++有什么区别: <br /> VC可以看成是C++加上MFC基础类库的组合 <br /><br /> 4:声明一个引用是需要注意什么,函数返回引用时需要注意什么: <br /> 1   必须在

2011-01-13 00:24:00 554

原创 参数入栈顺序和计算顺序

int main(){    int i = 1;    printf("%d/n%d/n%d/n", i, i++, ++i);      return 0;}在vs2008下输出3 2 3。部分汇编代码如下:int i = 1;00418AAE  mov         dword ptr [i],1 //i=1    printf("%d/n%d/n%d/n", i, i++, ++i);00418AB5  mov         eax,dword ptr [i]

2011-01-12 23:35:00 704

原创 DMA

解释一<br /><br />Direct Memory Access(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。 <br /><br />DMA的概念:DMA是在专门的硬件( DMA)控

2011-01-12 10:47:00 1223

原创 “初始化”: 截断常量值

(1)short i = 0x8000;//有警告:“初始化”: 截断常量值”(2)int j =  i;//无警告因为(1)0x8000是数字,数字默认是int型的,int的表示范围比short大,所以从int隐式转换为short会警告截断。如果改成显示转换short i = (short)0x8000;则不会警告。因为(2)中i为short型,从小范围的short隐式转换为大范围的int,不会截断,即使没有显示转换也不会有警告,而是用最高位补足不足的位,即正数补0

2011-01-12 01:11:00 18445 3

原创 位运算符

1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。 按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为000000001111

2011-01-11 01:52:00 945

原创 如何重载new和delete函数

在嵌入式系统中使用C++的一个常见问题是内存分配,即对new 和 delete 操作符的失控。   具有讽刺意味的是,问题的根源却是C++对内存的管理非常的容易而且安全。具体地说,当一个对象被消除时,它的析构函数能够安全的释放所分配的内存。       这当然是个好事情,但是这种使用的简单性使得程序员们过度使用new 和 delete,而不注意在嵌入式C++环境中的因果关系。并且,在嵌入式系统中,由于内存的限制,频繁的动态分配不定大小的内存会引起很大的问题以及堆破碎的风险。  作为忠告,保守的使用内存分配

2011-01-05 10:36:00 4122

原创 copy函数

<br />   vector<int> v1, v2;<br />    v1.push_back(1);<br />    v1.push_back(2);<br />    v1.push_back(3);<br />    v2.push_back(4);<br />    v2.push_back(5);<br />    v2.push_back(3);<br />    set<int> s;<br />    //copy(v1.begin(), v1.end

2011-01-04 23:09:00 1405

原创 创建和使用socket链接池

采用CS方式的程序不可避免都要碰到socket连接的问题,很多时候,使用编程语言当中自带的socket库,使用起来多少有些不习惯,虽然系统自带的库在很多异常处理,稳定性上下了很多功夫,但是要去理解和使用那些库,比如做socket连接池不免要走很多弯路。在这里我和大家讨论下怎么样创建和使用socket链接池。 一般socket链接有以下两种方式:长(常)链接和短链接。 长链接:当数据发送完成后socket链接不断开。一直保留到异常或者是程序退出为止,这种方式的好处是不用每次去发起连接断开,在速度上

2011-01-03 00:35:00 711

原创 .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等

<br />using System;<br />using System.Net;<br />using System.IO;<br />using System.Text;<br />using System.Net.Sockets;<br /><br />namespace FTP<br />{<br />    /**//// <summary><br />    /// 类描述:对FTP 操作类<br />    /// 作者:何火生<br />    /// </summary>

2011-01-03 00:09:00 1030 1

原创 如何检测内存泄漏——重载new和delete

作者 ariesram 电子邮件地址 [email protected], 或 [email protected] 本文及本人所有文章均收集在bambi.may10.ca/~ariesram/articles/中。 本文授权给www.linuxaid.com.cn。 正文: 我曾经参与过一个比较大的项目,在这个项目里面,我们没有一个完全确定的设计文档,所以程序的实现常常变动。虽然我们有一个比较灵活的框架,但是从程序的角度来讲,它使我们的程序非常的混乱。直到发

2011-01-02 01:16:00 754

原创 浅谈内存泄漏

<br />对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比较成熟,但是在c/c++领域的发展并不顺畅,虽然很早就有人思考在C++中也加入GC的支持。现实世界就是这样

2011-01-01 01:35:00 708

多线程应用

多线程应用 多线程数据采集,循环缓存和精确定时

2012-09-10

优秀的lotus学习资料

lotus学习资料 一本好的参考资料 lotus学习资料 一本好的参考资料 lotus学习资料 一本好的参考资料

2011-07-25

高性能计算 编程技术

蝮蛇螫手生生世世生生世世生生世世发生点点滴滴点点滴滴地对地导弹地对地导弹额分为 飞是

2009-06-15

空空如也

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

TA关注的人

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