自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (6)
  • 收藏
  • 关注

转载 C语言字节对齐详解

一、什么是对齐,以及为什么要对齐: 1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些

2012-03-12 23:19:05 506

转载 Linux多线程编程

线程 是计算机中独立运行的最小单位,运行时占用很少的系统资源。可以把线程看成是操作系统分配CPU时间的基本单元。一个进程可以拥有一个至多个线程。它线程在进程内部共享地址空间、打开的文件描述符等资源。同时线程也有其私有的数据信息,包括:线程号、寄存器(程序计数器和堆栈指针)、堆栈、信号掩码、优先级、线程私有存储空间。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的

2011-11-15 00:18:08 684

转载 Linux进程间通信——管道

Linux进程间通信机制: 1.同一主机进程间通信机制:   Unix方式:有名管道FIFO、无名管道PIPE、信号Signal   SystemV方式:信号量、消息队列、共享内存 2.网络通信:RPC(Remote Procedure Call)、Socket 管道 管道是进程间通信中最古老的方式,它包括无名管道和有名管道两种,前者可用于具有亲缘关系进程间的通信,即可用于父进

2011-11-15 00:17:31 679

转载 Linux进程间通信——共享内存

共享内存是运行在同一台机器上的进程间通信最快的方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。共享内存往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。 首先要用的函数是shmget,它获得一个共享存储标识符。 #i nclude         #i nclude         #i nclude

2011-11-15 00:16:54 546

转载 Linux线程同步之条件变量

与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。 条件的检测是在互斥锁的保护下进行的。如果一个条件为假,一个

2011-11-15 00:16:15 610

转载 untu基本命令整理

sudo: 如何设定/改变/启用 root 使用者的密码:sudo passwd root 当你使用完毕后屏蔽 root 帐号 使用:    sudo passwd -l root这个将锁住 root 帐号. 如何在终端机模式下切换到 root 身份:  sudo -s -H 在线安装程序:sudo apt-get install g++ pt-get最常用参数: update

2011-11-15 00:06:48 1085

转载 Makefile全解析

什么是 makefile 或许很多 Winodws 的程序员都不知道这个东西,因为那些 Windows的 IDE 都为你做了这 个工作,但我觉得要作一个好的和 professional 的程序员,makefile 还是要懂。这就好像现在有这么多的 HTML 的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML 的标识的含义。特别在 Unix 下的软件编译,你就不能不自己写 makefil

2011-11-15 00:05:19 909

转载 GDB调试程序(完全手册)

GDB概述   1 使用GDB  GDB中运行UNIX的shell程序  在GDB中运行程序   2 调试已运行的程序 两种方法:   3 暂停 / 恢复程序运行  一、设置断点(BreakPoint)  二、设置观察点(WatchPoint)  三、设置捕捉点(CatchPoint)  四、维护停止点  五、停止条件维护  六、为停止点设定运行命令  七

2011-11-15 00:03:59 960

转载 50个c/c++源代码网站

C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码 。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建 议,以进一步加强这方面的清单。  添加:http://www.boost.org/ 1、http://snippets.dzone.com/tag/c

2011-11-15 00:00:10 618

转载 Java反射机制

问题: 在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法? 答案是可以的,JAVA提供一种反射机制可以实现。   目录 什么是JAVA的反射机制 JDK中提供的Reflection API JAVA反射机制提供了什么功能 获取类的Class对象 获取类的Fields 获取类的Method 获取类的Constructor 新建类的实例

2011-11-08 14:30:00 908

转载 Hibernate之session

Hibernate在对资料库进行操作之前,必须先取得Session实例,相当于JDBC在对资料库操作之前,必须先取得Connection实例, Session是Hibernate操作的基础,它不是设计为执行绪安全(Thread-safe),一个Session由一个执行绪来使用。

2011-08-04 15:21:24 472

转载 JBPM4.4中嵌入自己的用户体系

很多时候,JBPM自己提供的用户系统是不够用的,这时候就要求我们自己去扩展自己的用户体系。JBPM允许外挂一个用户体系。 如果想嵌入自己的用户体系,只需如下几步: 第一步:       创建MyUserImpl,MyGroupImpl,MyMembershipImpl三个类

2011-08-04 15:13:27 928

转载 滑动窗口机制

(1).窗口机制     滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小

2011-08-03 12:07:44 528

原创 C/C++经典面试题

C/C++经典面试题 一、找错题1、strcpy试题1:void test1(){    char string[10];   char* str1 = "0123456789";   strcpy( string, str1 );}  试题2:void test2(){    char string[10], str1[10];   i

2011-07-01 10:49:00 933

原创 C++编程基础之函数指针

1、函数指针    定义:函数指针是指指向函数的指针。像其他指针一样,函数指针也指向特定的类型。函数类型由其返回值以及形参表确定,而与函数名无关。e.g   void (*pf) ( char,int );这个语句将pf声明指向函数的指针,它所指向的函数带有一个char类型,一个int类型,返回类型为void。我们可以这样理解:我们怎么定义普通的指针呢,如我们定义一个int型的指针,i

2011-06-25 16:47:00 1945

转载 C++ 虚函数表解析

 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。  

2011-06-24 14:31:00 505

转载 C/C++内存问题检查利器—Purify (五)

本文来自CSDN博客,转载:http://blog.csdn.net/haoel/archive/2003/12/16/2904.aspx十、   设置WatchPoint你可以在你的程序中,对你所想监控的程序设置一些WatchPoint,以方便于你对程序进行调试,或更容易找出问题的原因。就像我前面说,Purify可以找到你的内存泄露,但其不能找到内存泄露的原因,你可以通过设置WatchP

2011-06-24 00:47:00 857

转载 C/C++内存问题检查利器—Purify (四)

本文来自CSDN博客,转载:http://blog.csdn.net/haoel/archive/2003/12/16/2903.aspx七、             Purify的退出码像UNIX下的软件,一般都会提供和别的应用程序的接口,像上面的生成文本文件,也是给别的应用程序提供接口的一种方式。这里,我们所要讲述的是Purify的退出码,我们知道程序都有退出码,以提供给别的程序或操作

2011-06-24 00:43:00 545

转载 C/C++内存问题检查利器—Purify(三)

本文来自CSDN博客,转载:http://blog.csdn.net/haoel/archive/2003/12/15/2902.aspx 五、             文件描述符问题在上面的内存问题表中,对于大多数的内存问题来说,相信对于熟悉C/C++的程序员,并不陌生。有一些关于Watchpoint和文件描述符的内容,可能会让你看得比较模糊,对于Watchpoint,我会在后面讲述。这

2011-06-23 20:05:00 562

转载 C/C++内存问题检查利器—Purify (二)

本文来自CSDN博客,转载:http://blog.csdn.net/haoel/archive/2003/12/11/2901.aspx 三、           示例假设我们现在有这样一段程序:hello.c #include #include static char *helloWorld = "Hello, World"; main(){

2011-06-23 17:52:00 653

转载 C/C++内存问题检查利器—Purify (一)

C/C++内存问题检查利器——Purify 本文来自CSDN博客,转载:http://blog.csdn.net/haoel/archive/2003/12/11/2900.aspx一、           引言 我们都知道软件的测试(在以产品为主的软件公司中叫做QA—Quality Assessment)占了整个软件工程的30% -50%,但有这么一种说法,即使是最优秀测试专家设计出来的测试

2011-06-23 15:40:00 725

转载 eclipse开发c++之MinGw+eclipse+cdt安装

一.环境的安装与配置首先,当然必须要做的,就是下载软件和插件。(1) JDK(jdk6)(2) Eclipse(3.6)(3) CDT插件(cdt-master-7.0.2)(4) MinGW编译器(我用的是MinGW 5.1.6)其次就是环境的配置,对于用过Eclipse编写过Java程序的人来说JDK的环境变量配置应该很熟,主要介绍下MinGw的配置。1.MinGW 5.1.6的安装首先下

2011-06-23 11:20:00 3730 1

转载 Hibernate快速入门

其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持。然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss。这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性。   在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss。本文的

2010-11-04 18:55:00 568

原创 不要随便使用CreateThread

CreateThread,是WIN32 最直接创建的thread API函数.但是如果在线程回调(CALLBACK)函数中使用一些标准C的函数,当线程正常退出的时候,即使你释放了所有用户资源,仍然会有资源的泄漏的隐患。主要原因是线程中都需要有额外的资源,来保证一些标准C函数的线程安全,这些资源的创建是在C的标准函数被调用的时候,但是在thread退出的时候,没法通过正常途径释放。<br />如果在你的回调函数中使用一些标准C函数,最好使用_beginthreadex,_endthreadex替换掉原来的Cr

2010-11-03 17:25:00 927

转载 几种同步手段(互斥量,信号量,事件,临界区)

<br />环境:<br /><br />VISTA+VC6<br />双核<br /><br />这个环境对于下面的有些效果来说,十分关键。<br />在我下面的练习中,如果是单核,那么两个线程无法真正的同时执行,<br />而单个操作的耗时也并不长,可能看不到互斥访问中的一些问题。<br />在VISTA之前的一些系统,时间片比较大,也不容易看到。。<br /><br />设计目标:<br /><br />模拟一个售票系统,有两个线程可以出售,总共100张票。<br />中间打印出出售的信息。<br /

2010-11-03 17:23:00 1118

转载 C/C++函数变长参数列表实现

在C编译器通常提供了一系列处理可变参数的宏,实现就像printf()那样的变长参数列表,这样可以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、 va_arg和va_end等,这些宏都是在头文件<stdarg.h>里定义的。 <br />采用ANSI标准形式时,参数个数可变的函数的原型声明是:<br />type funcname(type para1, type para2, ...)<br />这种形式至少需要一个普通的形式参数,后面的省略号不表示省略,而是函数原型的一部分

2010-11-03 17:17:00 679

转载 WinSocket I/O Methods

Socket Modes :Blocking Mode(阻塞式)和Noblocking Mode(非阻塞式)

2010-11-03 17:06:00 497

转载 Socket I/O模型全接触

本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect模型 四:Overlapped I/O 事件通知模型 五:Overlapped I/O 完成例程模型 六:IOCP模型

2010-11-03 16:54:00 353

转载 Socket编程

TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。

2010-11-03 16:51:00 370

转载 ARP协议解码详解

ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。

2010-11-03 16:48:00 426

转载 TCP/IP协议数据报结构详解

TCP/IP协议数据报结构

2010-11-03 16:43:00 680

转载 WinSock网络编程实用宝典

<br />一、TCP/IP 体系结构与特点<br />  1、TCP/IP体系结构<br />  TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:(结构如图1.1)<br /><br />(图1.1) <br />  IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,   UDP提供分组发送服务。用户进程通常不需要涉及这一层。<br /><br /

2010-11-03 16:34:00 665

转载 Windows Sockets错误码

    Windows Sockets在头文件winsock.h中定义了所有的错误码,它们包括以“WSA”打头的Windows Sockets实现返回的错误码和Berkeley Sockets定义的错误码全集。定义Berkeley Sockets错误码是为了确保原有软件的可移植性。A.1  Windows Sockets错误码列表     表A.1列出了WSAGetLastError()函数返回的可能错误码和它们的解释,它们可分为四个部分。     错误码的第一部分是用来解决在不同的C编译中对标准C错误码的

2010-11-03 16:00:00 559

原创 设计模式之简单工厂(创建型模式)

设计模式之简单工厂(创建型模式)

2010-08-18 22:03:00 573

原创 c++实现多线程之小试牛刀

<br />#include <cstdlib><br />#include <iostream><br />#include <windows.h><br />using namespace std;<br />CRITICAL_SECTION cs;<br />int a=0;<br />DWORD WINAPI ThreadFuncA(LPVOID lp)<br />{<br /> while(a<100)<br /> {<br />  EnterCriticalSection( & cs);<br

2010-08-16 22:01:00 542

转载 orge安装与配置

<br />Orge安装与配置<br /> <br />一.安装并配置DirectX SDK<br /><br />    1.把DirectX SDK里的include文件夹添加进包含文件中<br />    2.把DirectX SDK里的Lib/x86文件夹添加进库文件中<br />    3.把DirectX SDK里的Utilities/Bin/x86添加进可执行文件中<br /><br />二、安装并配置OGRE SDK 1.7<br /><br />    1.把OgreSDK_vc9_v1-

2010-06-12 02:08:00 4396

ieHTTPHeaders1.6

ieHTTPHeaders1.6 ieHTTPHeaders1.6 ieHTTPHeaders1.6

2010-03-03

严蔚敏《数据结构(c 语言版)习题集》答案

部分严蔚敏《数据结构(c 语言版)习题集》参考答案

2009-03-16

SQL Server 2005 学习课件

SQL Server 2005学习课件,很经典的!!!

2009-03-02

清华大学Java教程

Java 初学者入门的教程,简单易学····

2009-03-02

《计算机网络--自顶向下的方法和Internet特色》配套中文ppt

经典丛书《计算机网络--自顶向下的方法和Internet特色》中文配套课件。

2009-01-06

Internet ——自顶向下方法与 特色(影印版)课后答案

<<Internet ——自顶向下方法与 特色(影印版)>>课后习题完整答案

2009-01-06

空空如也

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

TA关注的人

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