- 博客(188)
- 收藏
- 关注
原创 The difference between GetDC and GetWindowDC
GetDCThe GetDC function retrieves a handle of a display device context (DC) for the client area of the specified window. The display device context can be used in subsequent GDI functions to draw in
2007-04-21 12:52:00
1188
原创 求n!的结果中末尾0的个数
终于悟到了。首先,很容易想到的就是,求0的个数,就是求5的个数(如果这个你都想不明白的话,那就。。。再好好想想吧,呵呵);接下来,如何求5的个数呢?如果遍历一遍的话,那显然是太慢了!因为这种计算题太有规律了!想了好久,终于想出来了:Result = 0; // 最后的结果while ( N >= 5 ){ N /= 5; Result += N;}// 结束了。
2007-04-19 15:26:00
1482
原创 48 Ways to Wisdom - Way 4, Introduce Yourself to Yourself
Did you ever get on a train going somewhere, only to find that youre headed in the wrong direction?The same thing happens in life. We set goals and make plans - and sometimes discover that were on
2007-04-18 16:24:00
1726
原创 动态语言
所谓动态语言,也叫脚本语言,就是说一种在执行期间才去发现数据类型的程序设计语言,主要创建一些需要经常更新的动态系统。常见的有Python, Lua, Perl, PHP等。以往,我们所使用的语言,比如C,C++等等,都称为静态语言。什么是静态语言呢?就是说,在使用数据之前,我们必须首先定义数据类型,这些数据类型包括int, float, double等等。就相当于在使用它们之前,首先要为它们分
2007-04-16 18:14:00
900
原创 名言3
C++名人Alexandrescu说,十几岁的少年天才到处都有,三十多岁的优秀设计师凤毛麟角,掌握一种力量是容易的,学会恰当地使用这种力量却难得多,这就是聪明与智慧之间的差别。文武之道,有张有弛,知道什么是该做的,什么是不该做的,这是人生最大的学问。
2007-04-13 16:41:00
951
原创 Intel.VTune.Performance.Analyzer.v8.0.014.ISO下载
http://down.gogobox.com.tw/kisser/7ir3不过下载的时候要安装一个ActiveX插件的
2007-04-13 16:08:00
1463
原创 Finding crash information using the MAP file 2
很奇怪,cppblog居然不能发表评论了,哭。。。所以就在发一篇了哦,呵呵。Finding crash information using the MAP filehttp://www.cppblog.com/jacky2019/archive/2007/04/09/21527.html上文中的关于小说明的第2点是有问题的偶又试了一次,发现lines number可能是有问题的,而且也不是我的
2007-04-10 11:27:00
878
原创 Google Requires
Software Engineer - New Grad - Shanghai Software Engineer - Shanghai Requirements: BS/MS/Ph.D. in computer science or a closely related field. Strong C/C++/Java programming skills.
2007-04-10 11:17:00
866
原创 可变参数研究
一. 何谓可变参数int printf( const char* format, ...); 这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用”…”表示). 而我们又可以用各种方式来调用printf,如:printf("%d",value); printf("%s",str); printf("the number is %d ,string
2007-04-10 11:01:00
809
原创 DeinoMPI
DeinoMPI is an implementation of MPI-2 for Microsoft Windows. DeinoMPI是微软windows下MPI-2的一个实现。注:MPI-2是Message Passing Interface, http://www.mpi-forum.org/。What is MPI? MPI is a library of functions
2007-04-10 10:57:00
984
原创 Rational Rose 2003下载地址
http://www.21php.com/Rational Rose 2003.rar昨晚下的,速度100K左右
2007-04-10 09:22:00
1098
原创 谈谈面向对象
面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。不过我想上面说的应该是国外吧!不知道国内的90年代OO是否风靡啊。偶是21世纪才开始接触电脑的。记得那时候老师在给我们上C++课的时候,拼命说什么C++好啊,面向对
2007-04-09 20:55:00
886
原创 Finding crash information using the MAP file
非常好的一篇文章,from: http://www.codeproject.com/debug/mapfile.asp, by Wouter Dhondt几点小说明1、该文是针对vc6.0的,不过vs2003同样适用 In the C/C++ tab, select "Line Numbers Only" for Debug Info 对应于 Release-->C/C++ tab-->调试信
2007-04-09 13:45:00
1114
原创 关于MFC下检查和消除内存泄露的技巧
摘要本文分析了Windows环境使用MFC调试内存泄露的技术,介绍了在Windows环境下用VC++查找,定位和消除内存泄露的方法技巧。关键词:VC++;CRT 调试堆函数;试探法。编译环境VC++6.0技术原理检测内存泄漏的主要工具是调试器和 CRT 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句: #define CRTDBG_MAP_ALLOC#include #incl
2007-04-09 09:09:00
874
原创 placement new 操作符
在处理内存分配的时候,C++程序员会用new操作符(operator new)来分配内存,并用delete操作符(operator delete)来释放内存。这是一个new操作符的例子。class CTest{ /* 成员函数和成员数据 */};// . . . 代码// 分配一个对象CTest * pTest = new Test;// 分配一个有十个对象的数组 (CTest 要有缺
2007-04-06 10:20:00
792
原创 CRuntimeClass的应用
CRuntimeClass在MFC中的作用很重要,因为MFC利用它来进行类的动态确定,即是通过类变量来判定该变量是否为某一类的实例。由于指针的类型是可以转换的,所以时常会出现从A到B的转换导致错误。而在MFC的各种书籍中对CRuntimeClass的介绍是比较少的,在这里总结它的一些用法。1、动态确定类在MFC中CObject::IsKindOf( const CRuntimeClass*
2007-04-06 10:08:00
1011
原创 VC调试入门
概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。 设置为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建的
2007-04-05 17:47:00
693
原创 显卡是干什么用的?
突然想到这个问题。不知道!刚才看书看到GDI的时候想到的。Google了一下,不过下面的资料似乎有点old了,不过如果你也一样和我有同样的疑问的话,还是有的一读的,呵呵。显卡又称显示器适配卡,现在的显卡都是3D图形加速卡。它是是连接主机与显示器的接口卡。其作用是将主机的输出信息转换成字符、图形和颜色等信息,传送到显示器上显示。显示卡插在主板的ISA、PCI、AGP扩展插槽中,ISA显示卡现已基
2007-04-05 15:17:00
2756
原创 创建自己的CriticalSection和Lock
Lockable.h: CriticalSection的抽象父类class LockableObject{ public: LockableObject(){} virtual ~LockableObject(){} virtual void Lock() = 0; vir
2007-04-04 21:27:00
1181
原创 Google推出拼音输入法了!
网址:http://tools.google.com/pinyin下载地址:http://dl.google.com/pinyin/GooglePinyinInstaller.exe用了一下,感觉挺好用的,同志们有兴趣的话,也试试看吧。恩聪明的谷歌拼音输入法五大特色:· 智能组句:选词准确率高,能聪明地理解您的意图,短句长句都合适。 · 流行词
2007-04-04 21:00:00
8119
原创 认识理解volatile关键字
这个关键字告诉编译器不要持有变量的临时性拷贝。它可以适用于基础类型,如int或long,也适用于一整个c结构或c++类。为什么要有这个关键字呢?因为编译器在优化的时候,会把常用到的数据放在CPU的内部寄存器中。数据从寄存器中读取,远比从内存中读取要快!但是,如果另一个线程改变了内存中的变量值,那么此变量在寄存器中的值就过期了。 <!--google_ad_client
2007-04-04 14:14:00
790
原创 多线程同步机制摘要
Critical SectionCritical section(临界区)用来实现“排他性占有”。适用范围是单一进程的各线程之间。它是:· 一个局部性对象,不是一个核心对象。· 快速而有效率。· 不能够同时有一个以上的critical section被等待。· 无法侦测是否已被某个线程放弃。MutexMu
2007-04-03 19:34:00
1176
原创 Win32 Thread API学习之Event Objects
Win32中最具有弹性的同步机制就属events对象了。Event对象是一种核心对象,它的唯一目的就是成为激发状态或未激发状态。这两种状态完全由程序来控制,不会成为Wait…()函数的副作用。Event对象之所以有大用途,正是因为它的状态完全在你掌握之下。Mutexes和Semaphores就不一样了,他们的状态会因为诸如WaitForSingleObject()之类的函数调用而变化。所以,
2007-04-03 14:38:00
1029
原创 软件高手
在软件开发中,我们同样注意到这样一种高手,他们可以每天写出一千行左右的高品质代码。他们可以运用已有的一些软件包,迅速完成一个新的产品。他们可以在很短的时间内,学会一项新的程序语言或是新技术。他们表现出一种神奇的速度。所以真正的软件高手,他并不满足于他的代码能有效地工作了,他认为编程是艺术,并醉心于其中。在低手能写出一个版本的时间里,他已经写出了第十版。其品质当然不可同日而语。就象一个九段棋手
2007-04-02 19:34:00
1574
原创 程序员的十个级别
可能有点old了。不过贴在这里用来鼓励自己一步一步往上爬!恩。 第一级:神人,天资过人而又是技术狂热者同时还拥有过人的商业头脑,高瞻远瞩,技术过人大器也。如丁磊,求伯君。 第二级:高人,有天赋,技术过人但没有过人的商业头脑,通常此类人不是顶尖黑客就是技术总监之流。第三级:牛人,技术精湛,熟悉行业知识,敢于创新,有自己的公司和软件产品
2007-04-02 17:38:00
1685
原创 一个非常简单的求随机数的算法
#include #include unsigned long int next = 1;unsigned int rand(void) { next = next * 1103515245 + 12345; return (unsigned int)(next/65536) % 32768; } void srand(unsigned int seed) { next =
2007-04-01 15:36:00
1030
原创 Word2007的一个bug
如果您有兴趣看了偶的上一片文章《Win32 Thread API学习之Critical Sections 》的话,您会发现,里面居然有乱码!而本人又是声称精通Unicode的,是不是太土了阿?不过偶是故意留在那里的,免得忘了。恩后来我又试了一次,先把vc中的代码(包括中文注释),其实就是那片文章中的那些代码了。先拷贝到notepad中,OK!Notepad能够正确识别那些中文!看来不是vc的问题了
2007-03-30 15:18:00
885
原创 Win32 Thread API学习之Critical Sections
Critical Sections并不是核心对象。因此没有handle这样的东西。它和核心对象不同,它存在于进程的内存空间中。你不需要使用想“Create”这样的API函数获得一个critical section handle。你应该做的是将一个类型为CRITICAL_SECTION的局部变量初始化,方法是调用InitializeCriticalSection():The Initialize
2007-03-30 15:04:00
1687
原创 Ogre介绍
网址:www.ogre3d.org什么是OGRE?Ogre是Object-Oriented Graphics Rendering Engine,面向对象的图形渲染引擎。OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ desig
2007-03-30 10:56:00
834
原创 链接器干了些什么?
链接器都干了些什么?目前项目在不停的增长,我想还是在它规模仍旧很小的时候把它的模块分清楚,不同模块分到不同的projects里面,这里面出现了很多问题,也反映了我知识上的很多不足。1,project最后的输出要设置清楚,有的是static lib,有的是dll,有的是exe,不一样的输出要设置好,它们都是linker的成果,但是以不同的方式应用。2,project depende
2007-03-29 19:19:00
1056
原创 天气好热啊!
今天上海居然有28度,整个下午感觉就在火笼里面,热死我了!突然发现有系分53套卷子,不只是该高兴,还是沮丧,whatever,just do it!gogogo!
2007-03-29 17:48:00
811
原创 改bug
改bug真郁闷阿!改别人写的代码的bug,更郁闷!一个bug困扰我很长时间了,昨天track了很长时间,早上又在track。中午睡了一觉之后,顺利解决。yeah!这个bug很简单,像这样:for(int i=0; i{ for(int j=0; j { dest[ j ] = src[ i ];///!!!! 应该是src[ j ]的,却写成i了 }}不过由于这些值一开始就被
2007-03-29 15:54:00
781
原创 核心对象激发状态的意义
“激发”signaled对于不同的核心对象有不同的意义Thread线程,当线程结束时,线程对象即被激发。当线程还在进行时,则对象处于未激发状态。Process进程,当进程结束时,进程对象即被激发。当进程还在进行时,则对象处于未激发状态。Change Notification,当一个特定的磁盘子目录中发生一件特别的变化时,此对象即被激发。此对象系由FindFirstChang
2007-03-29 15:50:00
907
原创 google adsense
google真是无处不在阿!最近学会了怎么用。试用一下。想想也应该是没人会点击的,反正偶是不会主动去click的,除非是passive,一不小心点了个空白地方,结果是个广告,真是厉害啊,呵呵。如果对大家有用的信息,欢迎点击,娃哈哈。不过,说句实话,真得很污染版面阿,呵呵。 google_ad_client = "pub-6457474891690507";google_ad_widt
2007-03-29 15:11:00
677
原创 N多的外国游戏公司
1. 3D Realms 2. 3M Corporation3. 7th Level4. Acclaim of the Americas5. Accolade6. Activision7. Adrenaline Entertainment8. Alf Engineering9. Alice
2007-03-29 00:03:00
1399
原创 游戏中的物理引擎
物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟,以及发生碰撞后的物体骨骼运动的力学模拟(比较著名的物理引擎有havok公司的game dynamics sdk,还有open source 的ODE—Open Dynamics Engine)。其他还有physX, OPAL等。效率来说Havok是软件模拟最快的。而PhysX提供的接口是非常好和简单易学的。
2007-03-28 23:20:00
3753
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人