自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 windows几个内存分配函数

malloc,operator new,VirtualAlloc,HeapAlloc,GlobalAlloc,LocalAllocmallocmalloc是C/C++运行期库函数,它最终调用HeapAlloc从堆里面分配空间。operator newoperator new是C++运算符。它最终调用HeapAlloc从堆里面分配空间。VirtualAll

2012-04-26 13:43:47 767

原创 C#协变和抗变

本文为了表述清楚,一些说法不是很规范。比如,把方法赋值给委托,意思是,用这个方法作为委托构造函数的参数。MSDN里面有句话是:.NET Framework 3.5 and Visual Studio 2008 introduced variance support for matching method signatures with delegate types in all d

2012-02-16 21:26:52 4395

原创 C# 入门经典

1 C#简介.NET Framework是Microsoft最新的开发平台,目前版本是4。它包括一个公共类型系统(CTS)和一个公共语言运行时(CLR)。用.NET Framework编写的应用程序首先编译为CIL(以前叫MSIL)。在执行应用程序时,JIT把CIL编译为本机代码。应用程序编译后,把不同的部分链接到包含CIL的程序集中。3 变量和表达式以#开头的任意关键字实

2012-02-12 09:29:55 1517

原创 TCP/IP详解

1 概述以太网数据帧的物理特性是其长度必须在4 6~1 5 0 0字节之间。U D P数据与T C P数据基本一致。唯一的不同是U D P传给I P的信息单元称作U D P数据报(UDP datagram),而且U D P的首部长为8字节。由于T C P、U D P、I C M P和I G M P都要向I P传送数据,因此I P必须在生成的I P首部中加入某种标识,

2012-02-03 16:25:44 670

原创 iterator_traits和__type_traits

iterator_traitsSGI STL中的实现如下所示:struct input_iterator_tag{};struct output_iterator_tag{};struct forward_iterator_tag{} : public input_iterator_tag {};struct bidirectional_iterator_tag : pu

2012-01-17 13:31:40 899

原创 C++的模板特化及STL中iterator_traits模板的偏特化

C++中有类模板和函数模板,它们的定义如下所示:类模板:templateclass C{//...};函数模板:templatevoid func(T1 p1,T2 p2){//...};特化包括全特化和偏特化,全特化也叫简称特化,所以说特化的时候意思就是全特化。特化就是对所有的模板参数指定一个特定的类型,偏特化就是对部分模板参数指定特定的类型。

2012-01-12 11:34:10 3484

原创 关于extern "C"

如果要混合链接C和C++的代码,就需要用到extern "C"。1 C++要到C的函数如果在.c文件里面定义了一个函数void func(int para),在.cpp文件中要用到该函数,那必须在C++代码(可以放cpp文件中或头文件中)中声明该函数,这样编译的时候才能通过,否则编译器会提示找不到该函数的定义。声明的方法必须是:extern "C"void func(int

2012-01-11 12:55:22 534 1

原创 算法导论 - 第25章 每对顶点间的最短路径

每对顶点间的最短路径的算法有三种,每一种都可以检测图是否存在weighg小于0的cycle。前两种算法用了动态规划的方法,最后一种算法对每个定点计算单源最短路径。与求单源最短路径的算法不同,求每对顶点间的最短路径的算法采用网的矩阵表示法(除了最后一种算法,最后一种算法采用图的邻接表表示法)。用矩阵W表示一个网,其中矩阵的元素W(i,j)表示顶点i到顶点j的edge的weight。如果顶点i

2011-12-16 22:50:34 1641

原创 算法导论 - 第24章 单源最短路径

单源最短路径的算法有两种:Bellman-Ford算法和Dijkstra算法。求最短路径,如果最短路径上存在weight小于0的cycle,则不存在最短路径。因为只要在这个cycle上多循环几次,该路径的weight就会降低。因此求最短路径的weight时,应该判断最短路径上是否存在weight小于0的cycle,如果存在weight小于0的cycle,则无法对该图求最短路径,因为没有意义。假

2011-12-14 18:48:43 744

原创 C# 中的引用类型和值类型

C#中所有的类都是引用类型,大部分基本类型是值类型,基本类型中也有一些是引用类型,包括string、object。数组也是隐式的引用类型。那么什么是值类型,什么是引用类型?主要区别包括:1在内存中的位置不同,2使用方式不同。1 内存中的位置不同值类型是在系统的堆栈中分配空间,引用类型是在系统的堆中分配空间。2 使用方式public class MyClass{ p

2011-11-13 15:13:36 771 1

原创 关于移位操作

左移:不管是有符号数还是无符号数,数位都往左移动n位,右边用0补足。如果左移的位数超过整数本身的位数,结果不知道。VS上测试结果是从头开始。例子(VS,32位机器):int类型,原始值0x1,左移31位后是0x80000000。左移32位后是0x1。原始值0x11,左移31位后是0x80000000,左移32位后是0x11。unsigned int类型,同上。右移:右移包括

2011-11-12 21:56:11 616

原创 Linux kernel

Spin locks are useless in a uniprocessor environment. When a kernel control path tries to access a locked data structure, it starts an endle

2011-09-22 20:14:16 385

转载 一些链接

深入浅出之正则表达式                               http://www.cnblogs.com/dragon/archive/2006/05/08/394078.html

2011-09-21 11:14:36 266

原创 Regular Express

一 字符集字符集用[]来存放要寻找的字符的集合。1 *表示重复0次或多次,+表示重复1次或多次,?表示重复0次或1次{min,max}用来表示重复次数,{0,1}等于?,{0,}等于*,{1,}等于+。“.”匹配一个单个的字符而不用关心被匹配的

2011-09-21 11:12:06 266

转载 Linux Shell

1 Linux下运行当前目录下的程序为啥要加./因为默认情况下,当前目录是不加入到环境变量PATH中的,所以需要指定程序的路径2 单引号,双引号双引号可以防止通配符扩展但允许变量扩展。单引号更严格一些。它可以防止任何变量扩展。比如 #!/bin/s

2011-09-20 00:13:22 376

转载 vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

From   http://apps.hi.baidu.com/share/detail/31767352将一下代码copy到 用户目录下 新建文件为  .vimrc保存即可生效; 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)

2011-09-19 19:11:20 277

原创 Ubuntu下安装GTK+步骤

在终端下输入:sudo apt-get install build-essential       #这将安装gcc/g++/gdb/make 等基本编程工具sudo apt-get install gnome-core-devel #这将安装 libgtk2.0-dev

2011-09-18 10:53:46 668

原创 Unix Network Programming - 多进程服务器需解决的三个问题

1 当派生子进程来处理客户连接时,必须捕获信号SIGCHLD2 当捕获信号时,必须处理被中断的系统调用。比如当子进程结束时会向父进程发送信号SIGCHLD,如果这时父进程被阻塞在系统调用内部,会产生问题。最好是让内核重新启用该系统调用。3 SIGCHLD的信号处理程序必须

2011-09-12 15:25:41 309

原创 Unix Network Programming

将ip地址的字符串表示转为二进制数字形式:IPV4:int inet_aton(const char *strptr,struct in_addr *addrptr);      //返回:1字符串有效,0字符串无效in_addr_t inet_addr(const

2011-09-11 14:22:17 394

原创 Linux文件权限

Linux文件权限Linux文件的权限用16位的域来表示。最高4位表示文件类型,接下来3位是修饰位,剩下的9位是访问权限位。4位的文件类型3位修饰位9位访问权限位4位文件类型:文件类型符号常量掩码

2011-09-09 22:26:51 705

原创 i386的页机制

i386CPU不仅有段机制,而且支持页机制。一个32位的逻辑地址经过段机制映射成线性地址后,还要经过页机制映射成32位的逻辑地址。与页机制有关的寄存器有:CR3,CR0CR0的最高位PG是页映射机制的总开关,如果PG位是1则开启页映射机制。CR3寄存器用来存放页面

2011-09-01 19:05:51 429

原创 i386的段机制

i386中与段机制有关的寄存器有:CS(16bits),DS(16bits),SS(16bits),ES(16bits),GDTR(32bits),LDTR(32bits),用于存放“影子”描述项的寄存器。CS,DS,SS,ES之所以是16位宽度,是为了与之前的CPU兼容。

2011-09-01 18:48:23 502

原创 《算法导论》学习笔记-图的基本算法

图有两种表示法:邻接表和邻接矩阵。对稀疏图,用邻接表表示比邻接矩阵节省空间。图分为有向图和无向图。关于图的算法有:对有向图和无向图:广度优先搜索,深度优先搜索。有向无环图:拓扑排序有向图:强连通子图无向图:最小生成树,有Kruskal 和 Prim

2011-08-25 23:40:58 379

原创 Word中如何将多级列表与标题样式关联起来

在“开始”标签页,“段落”子标签中,点击“多级列表”按钮右端的小箭头,选择“定义新的列表样式”,打开“定义新的列表样式”对话框。点击左下角的“格式”按钮,选择“编号”,打开“修改多级列表”对话框。在右上角的“将级别链接到样式”中选择样式即可。

2011-08-24 22:32:37 11722

转载 跟我一起写 Makefile 转自 CSDN陈皓

原文地址:http://blog.csdn.net/haoel/article/details/2886作者专栏地址:http://blog.csdn.net/haoel概述——什么是makefile?或许很多Winodws的程序员都不知道这个

2011-08-19 11:31:35 739

原创 zombie process and orphan process

在windows下,一个进程中的线程可以调用CreateProcess来创建一个新进程。在新的进程运行之前,它们的关系可认为是父子关系。当新进程运行之后,它们之间不再是父子进程关系,而是两个平等的进程。而在Linux下,一个进程通过调用System,fork等函数创建一个新进

2011-08-07 22:33:29 1282

一个可以实现真色彩图标的工具栏类。

vc自带的工具栏只能支持8色的图标,该类可以实现真色彩的图标显示。对软件的美化有很大用处。

2009-05-23

ico图标转为bmp图片的小程序

把ico图标转为bmp图片的程序。自制工具栏按钮挺有用的。

2009-05-23

tbcreator工具栏图片制作工具

利用ico或位图等格式的图片制作工具栏。

2009-05-23

nasa gps卫星位置速度计算软件

经过验证,nasa的.计算gps卫星位置,速度。卫星星历和位置,速度之间互相换算。

2009-03-10

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

TA关注的人

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