08 2010 档案

摘要:初次接触这两个接口也许会混淆,其实接口的命名就是对功能的绝佳描述,resize就是重新分配大小,reserve就是预留一定的空间。这两个接口即存在差别,也有共同点。下面就它们的细节进行分析。 为实现resize的语义,resize接口做了两个保证: 一是保证区间[0, new_size)范围内数据有效,如果下标index在此区间内,vector[indext]是合法的。 二是保证区间[0, new_size)范围以外数据无效,如果下标index在区间外,vector[indext]是非法的。 reserve只是保证vector的空间大小(capacity)最少达到它的参数所指定的大小n。在区. 阅读全文
posted @ 2010-08-26 10:55 小 楼 一 夜 听 春 雨 阅读(497) 评论(0) 推荐(0) 编辑
摘要:改变D3D中的渲染状态 1). 设置着色模式: SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT) //设置平面着色模式 SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD) //设置格劳德着色模式 2). 设置 阅读全文
posted @ 2010-08-25 14:21 小 楼 一 夜 听 春 雨 阅读(597) 评论(0) 推荐(0) 编辑
摘要:Justin James曾发表过一篇博文《10 tips for advancing from a beginner to an intermediate developer》,为我们分享如何才能完成程序员从初级到中级的蜕变,现将中文译文转载于此,供大家借鉴。在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。这个观点很好,有关程序员如何从初级跃升到中级的信息极少。以下是为了实现这种转变需要你去做的10件事。1.学习另一门语言其实你学的是哪一门语言并没有关系,但 阅读全文
posted @ 2010-08-22 17:58 小 楼 一 夜 听 春 雨 阅读(250) 评论(0) 推荐(0) 编辑
摘要:windows消息机制一dlg.cpp添加#define MY_MESSAGE WM_USER + 1000dlg.h添加afx_msg LRESULT onMyMessage(WPARAM wparam, LPARAM lparam);dlg.cpp添加ON_MESSAGE(MY_MESSAGE , onMyMessage)LRESULT CMfcTestDlg::onMyMessage(WPARAM wparam, LPARAM lparam){if (wparam == 1 && lparam == 0)MessageBox(TEXT("receieve my 阅读全文
posted @ 2010-08-13 20:30 小 楼 一 夜 听 春 雨 阅读(5890) 评论(0) 推荐(0) 编辑
摘要:IncrediBuild是一款编程开发工具,可加快C/C++ 的编译和创建速度。能无缝集成到Visual Studio开发环境中,采用Xoreax 的多线程处理技术,不必改变项目文件的代码。 编译速度慢向来是C++/C程序语言的一个最大的弱点.开发者花费几个小时在工作站上等待整个产品的创建,或者一天好多次花十分钟等待不断增加的编译的完成—工作效率很低而且浪费时间. IncrediBuild对此首次提供了独特有效的解决方案.通过使用Xoreax分布式编译(多线程处理)技术, Visual Studio project的编译速度将大大提高,而且不必改变项目文件代码 IncrediBui... 阅读全文
posted @ 2010-08-12 16:02 小 楼 一 夜 听 春 雨 阅读(5010) 评论(0) 推荐(0) 编辑
摘要:问题描述:大部分的vs.net 2005的用户在新建“win32项目-windows应用程序”的时候,新建的工程都通不过去,出现如下提示:Solution to “MSVCR80D.dll not found” by hua.“没有找到MSVCR80D.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”的完美解决方案^_^感觉偶做的还不错问题所在:由于vs.net 2005 采用了一种新的DLL方案,搞成一个exe还要配有一个manifest文件(一般在嵌入文件里了,所以看不到,不过也可以不嵌入,这样会生产一个<程序名>.exe.manifest的文件,没它ex 阅读全文
posted @ 2010-08-11 13:05 小 楼 一 夜 听 春 雨 阅读(225) 评论(0) 推荐(0) 编辑
摘要:写服务器的代码时,为了减少内存的分配,我们很多时候需要一个池子,讲需要分配的资源先new出来,放在池子里面。这个池子的总长度(容量)应该是大部分时候是固定,表面看来,这种要求用std::list实现最简单,list可以在开始和结尾的地方增加删除。但你会发现,如果使用std::list作为池子,性能会是你很头疼的一个东西,std::list分配一个加入一个对象,或者释放一个对象,可能都会对应一次new,delete操作。如果这样的操作频繁,std::list就会成为效率的瓶颈。我的一个通讯程序,接受和发送的buffer都考虑用一个池子,而每一个链接的发送数据,也会考虑放在一个池子里面。开始我就是 阅读全文
posted @ 2010-08-10 22:11 小 楼 一 夜 听 春 雨 阅读(531) 评论(0) 推荐(0) 编辑
摘要:1. 基类的静态数据成员存储在静态存储区;当子类继承了基类后,内存种仍然只有这一个static变量,所以不能算作是继承; 阅读全文
posted @ 2010-08-10 14:57 小 楼 一 夜 听 春 雨 阅读(324) 评论(0) 推荐(0) 编辑
摘要:BOOL PeekMessage( LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg);当消息队列中存在消息时, PeekMessage就返回TRUE, 最后一个参数可以为:PM_REMOVEPM_NOREMOVE表示是否在接收到消息的时候从消息队列中删除它们。与GetMessage的不同:PeekMessage只要有消息的时候, 这相依返回TRUE, 即使消息是WM_QUIT, 没有消息的时候, 它不会等待,而是立即返回,并返回FALSE。而GetMessage则是从消息队列中取出消息并删除 阅读全文
posted @ 2010-08-10 09:00 小 楼 一 夜 听 春 雨 阅读(2386) 评论(0) 推荐(0) 编辑
摘要:与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手。下面总结了一些入门方法和比较容易入手的资料。 首先你要精通一门高级语言,比如C++或者C#,其次,要有良好的英文阅读能力。对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为你遇到的大部分资源都将是英文的,不要总等着别人为你翻译。慢慢尝试着阅读英文资料,你会发现其实也并没有那么难:) 刚开始,你要做的就是选择一门图形API,一般就是DirectX或者OpenGL之间选一个。如果考虑到跨平台,那么OGL是首选. 如果只在ms的平 阅读全文
posted @ 2010-08-08 10:00 小 楼 一 夜 听 春 雨 阅读(441) 评论(0) 推荐(0) 编辑
摘要:首先: "abc"是非Unicode string, L"abc"是Unicode string. 其次:CRT (C Run Time) 库中用定义(#define) _UNICODE 来表示使用Unicode;而在 Win32 API 中是用定义(#define) UNICODE 来表示使用 Unicode 的。 而大多数应用(Application)都是既使用CRT又使用Win32 API的,所以一般地,_UNICODE和UNICODE 应该在工程中同时定义或同时不定义。 _T("abc") 在_UNICODE已定义时解释成L& 阅读全文
posted @ 2010-08-06 14:31 小 楼 一 夜 听 春 雨 阅读(461) 评论(0) 推荐(0) 编辑
摘要:LoadString 从资源载入字符串,我们一般这么用。举个例子:TCHAR str[20];LoadString(hInstance, IDS_STR, str, 20);如果我们的字符串的长度不知道,或许它会变化的话,我们怎么来获得资源ID对应的字符串呢?这就要用到LoadString的另一种用法,我们可以这样用LPCTSTR lpcStr = (LPCTSTR)LoadString(hInstance, IDS_STR, NULL, 0);感觉上没有什么问题啊?但是实际应用中又出现问题了,读出的字符串没有截断处理,它包含了下一个ID包含的字符串或者更多。怎么办?在MSDN中,LoadSt 阅读全文
posted @ 2010-08-05 21:23 小 楼 一 夜 听 春 雨 阅读(8828) 评论(0) 推荐(0) 编辑
摘要:作用:告诉编译器,已经使用了该变量,不必检测警告!在VC编译器下,如果您用最高级别进行编译,编译器就会很苛刻地指出您的非常细小的警告。当你生命了一个变量,而没有使用时,编译器就会报警告:“warning C4100: ''XXXX'' : unreferenced formal parameter.”所以,为了让编译器不必检测你的警告,就使用UNREFERENCED_PARAMETER语句。比如:int SomeFunction(int arg1, int arg2){ UNREFERENCED_PARAMETER(arg2) ...}我看到过一些 C++ 代码 阅读全文
posted @ 2010-08-05 20:49 小 楼 一 夜 听 春 雨 阅读(13725) 评论(0) 推荐(3) 编辑

点击右上角即可分享
微信分享提示