自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 c/c++中的NULL和0的区别

stdlib.h中/* Define NULL pointer value */#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif#endifc++中NULL就是0但是c中NULL却需要强制转换。为什么?不知道啊!!

2011-10-26 18:14:55 649

原创 用自己的话总结【windows核心编程】

哈哈!开始!!为什么会有关键段这个东西?首先我们已经有了Interlocked函数了,这些函数可以在用户态下进行多线程互斥,为什么可以在用户模式下进行多线程互斥呢?因为一般的认识来看的话,必须是多个线程可以共享的东西,当然全局变量符合这个条件,但是全局变量是不合适的,如果把一个全局变量当锁来用,我们会先判断一下他是不是可以用,假如可以用,我们就得把他变得不可用,就像厕所门一样,发现里面

2011-10-26 16:59:30 469

原创 记不住就去死吧!!

FILE *fopen( const char *filename, const char *mode );size_t fread( void *buffer,//Storage location for data. size_t size,//Item size in bytes. size_t count,//Maximum number of ite

2011-10-26 13:58:36 459

原创 linux多线程epoll

学习学习

2011-10-25 13:38:07 662

原创 rep stos dword ptr [edi]

引用一篇http://apps.hi.baidu.com/share/detail/11140897rep 为repeat 重复之意stos 为store string 保存字符串之意ptr 为pointer 指针之意00401060   push        ebp00401061   mov         ebp,esp00401063   sub

2011-10-24 11:57:57 1497

转载 linux ls

举例来说明一下: -|rw-|r--|r-- 1、r代表可读,w表示可写,-表示该文件的所有者没有对文件的执行权限,具有可执行权限则用x表示。 2、第一个字符是文件类型(文件类型分两种:普通文件和目录文件,若为普通文件,用连字号-表示;若为目录文件就用d表示。) 3、剩下的字符表示对文件的访问权限 4、第一个字符的后3个字符表示文件所有者对文件的访问权限。 5、后续3个字符

2011-10-23 20:32:03 419

原创 可变参数表函数的原理

引用一篇http://www.cnblogs.com/liyou_blog/archive/2010/09/01/1814663.html

2011-10-23 14:48:22 362

原创 java函数传参

学习下java。函数传参很有意思。开始还真的迷糊了几分钟。查了点资料,马上就理解了。Object obj = new Object(); //创建一个对象(在堆中), 并将obj引用指向这个对象。这里obj不是一个对象了,而是一个对象的引用。这一点和C++是不一样的。也就是说,java中不能在栈上创建对象。为什么呐?我想了一下。可能是这样的,java本身有自动内存清理机

2011-10-23 14:34:32 1070

转载 C++获取文件大小常用技巧分享

C++编程语言在程序开发应用中能够帮助我们轻松的完成许多功能需求。比如今天为大家介绍的C++获取文件大小的方法,就可以以多种方式轻松的实现。现在将会实现方法呈现给大家,以便大家参考。C++获取文件大小代码示例:#include  iostream> #include  io.h> #include  sys\stat.h> #include  afx.h>

2011-10-22 16:52:18 522

原创 怎样检查内存泄露的位置

网上找的方法。#include inline void EnableMemLeakCheck(){ _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);}#ifdef _DEBUG#define new new(_NORMAL_BLOCK, __FILE__, __LINE__

2011-10-22 15:51:02 433

原创 利用指针获取私有成员变量的值

有这么一个类class CTest{public: CTest(int t) { k=t; }private: int k;};假如没有提供方法的话,怎么获取k的值呐?利用指针。如果看过C++对象模型的话,应该明白,访问权限这些东西只不过是编译器处理的东西,对于内存来讲,都是浮云。 CTest a(2); //*(int*)&a=100; int h=*(i

2011-10-22 15:12:04 669

转载 内存泄露如何检查

???

2011-10-22 10:21:44 334

转载 C语言 如何动态创建二维数组

???const int k=10;int (*p)[k]; k必须要编译器已知,所以这里用了const常量定义。p=(int(*)[k])malloc(n*k*sizeof(int));分配n行k列的内存区域。

2011-10-22 08:08:10 474

原创 怎样获取文件大小?

???

2011-10-21 16:30:34 308

原创 线程函数能调用成员函数吗?

哎。好好想一想

2011-10-21 13:25:44 403

原创 c和c++文件操作比较

我在这里比较下C语言和C++的文件操作。首先是几个基础问题。typedef basic_ifstream > ifstream;typedef basic_ofstream > ofstream;typedef basic_fstream > fstream;查了下stlport,stlport\stl\_iosfwd.h,发现fstream不过是个typedef。char_

2011-10-20 23:07:27 1333

原创 sscanf是什么??

sscanf() - 从一个字符串中读进与指定格式相符的数据.  int sscanf( const char *, const char *, ...);  int sscanf(const char *buffer,const char *format[,argument ]...);  buffer 存储的数据  format 格式控制字符串  argument 选择性设

2011-10-20 23:04:25 447

原创 段访问错误

有哪些????

2011-10-20 22:26:01 302

原创 ogre+mfc+boost

想尝试ogre+mfc,网上下了一个案例,编译出现一堆问题。首先是版本的问题“应用程序无法正常启动oxc0150002”我把boost还有ogre的版本都重新用vs2010编译了一遍。首先对这个问题,我倒是有些奇怪的,pe文件头的确有编译软件的相关信息(记得是这样的)

2011-10-18 10:38:49 1936

原创 Ogre的多线程

以OGRE_LOCK_MUTEX(name)为例。查找得到以下宏定义。\Threading\OgreThreadDefinesBoost.h#define OGRE_LOCK_MUTEX(name) boost::recursive_mutex::scoped_loc

2011-10-17 09:09:17 1256

原创 ogre设计模式

我承认我学的东西太杂了。首先是factory method模式,即工厂方法。设计模式是这么说的:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。我理解的就是,可以通过一个接口去创建多种对象,C

2011-10-16 21:34:57 736

原创 研究一下duilib吧

duilib是个开源的界面库,国人作品。这几天有时间看看他的源码。分析一下。初看时有几个比较好奇的地方:1.消息机制,怎么传给控件的,有没有反射机制。特别要关注的应该是他的WM_MOUSEMOVE的处理,像这种directUI的界面,鼠标移动事件会引发界面

2011-10-15 22:55:33 1677

原创 boost的多线程实现机理

对boost的多线程感觉挺好奇的,所以就追踪了以下。设置在 下面,为了调用windows api,boost是这么做的# include namespace boost{ namespace detail { namespace w

2011-10-15 10:00:20 1647

原创 boost的any有什么用?

有人这么说:    很多时候我们想有一种可以代表任何类型的类型,比如像纯面向对象语言java或.net中的Object类型,但是对于C++本身并没有这样一个基类,所以我们如果要解决这类问题,首先我们考虑的是使用基类的指针,这能够解决以部分问题,但是更多的我们可以求助于void

2011-10-14 23:08:28 511

原创 getline怎么用?

首先来看stl中的声明,当然要看sgi版本的了template basic_istream& getline(istream& __is,basic_string& __s,_CharT __delim);template in

2011-10-13 22:55:32 1136

原创 大数相加

今天的面试题:现场写大数相加程序,第一次写的很烂,第二遍还行。

2011-10-13 13:03:30 317

转载 什么是守护进程,以及如何编写

守护进程 守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。unix系统有很多守护进程,大多数服务器都是用守护进程实现的。比如,网络服务inetd、Web服务http等。同时,

2011-10-11 20:45:41 401

转载 explicit

C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。  C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个

2011-10-11 20:09:09 334

转载 私有构造函数 私有析构函数

很多情况下要求当前的程序中只有一个object。例如一个程序只有一个和数据库的连接,只有一个鼠标的object。通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?这意味着什么?      当我们在程序中声明一个对象时,

2011-10-11 20:05:27 897

转载 CWnd与HWND的区别与转换

一、区别HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd.HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。   CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装

2011-10-11 20:04:00 411

原创 《C和指针》 读书笔记

int a[10]在C中,在几乎所有使用数组名的表达式中,数组名的值是一个指针常量,也就是数组第一个元素的地址。它的类型取决于数组元素的类型,如果它们是int类型,那么数组名的类型就是“指向int的常量指针”。只有在两种场合下,数组名并不用指针常量来表示——就是当数组名作

2011-10-05 22:33:47 294

原创 开始学习linux

在ubuntu下编译gcc -o 输出文件名 源文件名编译完之后在当前目录下生成无后缀名的可执行文件运行方法:./执行文件名开头的./必须加,否则运行不了??奇怪的vi编辑还是太别扭了!今天装了g++编译器,当然装得时候是很繁琐的。碰到

2011-10-03 08:17:38 286

游戏人工智能编程案例精粹 配套光盘

游戏人工智能编程案例精粹 深入浅出的解析了游戏中所需要的人工智能技术。此为其光盘文件,文件可以正常编译

2012-08-13

3D游戏编程大师技巧

学游戏必备的一本书,全面解密游戏引擎机制

2012-08-13

空空如也

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

TA关注的人

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