随笔分类 -  c\c++

摘要:有本书叫做《代码阅读与方法实践》,看了一次,以C++语言来讲解的,前部分注重语法,然后讲了数据结构,然后讲了软件工程。说了这么多,其实就是在向读者补知识。迩要想看懂代码,代码基本功可必不可少。 然后第二部分开始讲LINUX的编码规范和各种类型的惯例,也就是说,知道了基本知识还不够,还要知道一些业行的行话。之后就给出一个例子教迩怎么阅读了,无非就是断点,修改代码,想看出结构?其实还是经验活,迩看此书之前读代码不能看出结构,读完后也别想着能看出代码结构。这个框架还是得看迩的经验。当然咯,人家代码说明书写得好迩就什么都不用猜了。总的来说, 看代码,要先学会这代码是怎么用的,用在什么地方,会用了,才开 阅读全文
posted @ 2014-04-08 15:52 klobodnf 阅读(201) 评论(0) 推荐(0)
摘要:这问题昨天就困扰了莪几个小时了、使用c#的ArrayList的BinarySearch找不到相同元素、要使用Contains才找得到、原因就在于未排序、囧 阅读全文
posted @ 2012-11-02 11:27 klobodnf 阅读(310) 评论(0) 推荐(0)
摘要:在阅读这篇文章前、请先查看一下这两篇文章I、Cocos2d-x学习之windows 7 android环境搭建http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html如果迩已经看完这篇文章并且没什么问题、请忽略这里吧、囧一、这里莪首先给迩关于版本的建议:1、如果迩是个完全的新手、建议迩下载cocos2d-x 1.x的版本、因为自从2.0版本开始、cocos2d将会使用opengles2.0、这意味着更强的图形功能、也意味着更少的兼容性、囧、部分老版本的android机器不支持gles2.0、而且也绝大部分PC机器使用androi 阅读全文
posted @ 2012-08-01 09:58 klobodnf 阅读(2594) 评论(0) 推荐(0)
摘要:如果是标准的C++代码、直接以下代码便可以把所有的参数输出了#include <windows.h>int main(int argc, char* argv[]){ for(int index = 0; index < argc; index++) { printf("%s\n", argv[index]); } return 0;}比如程序名是test.exe、运行命令了test.exe test那么argv[0]就是test.exe、argv[1]便是test但是在一个标准的VC控制台程序里、入口函数是_tmain而不是main、这就... 阅读全文
posted @ 2012-07-25 20:19 klobodnf 阅读(364) 评论(0) 推荐(0)
摘要:通常使用计数器进行计时、会使用系统时间或者游戏时间而得出、比如windows有从windows启动到现在的时间函数、而SDL也有从游戏启动到现在的时间函数、但莪们使用计数器能使用的条件就是据此来计算出莪们需要的游戏时间、下面先让莪介绍一下这些变量含意getSDL: 游戏从开始到现在的时间start:开始的时间点pause: 暂停的时间点used: 使用时间wait: 等待时间绿色条:使用时间蓝色条:等待时间假设游戏开始马上开始计数、赋值start当前秒数为游戏开始时间、也就是0(实际上这不大可能、然后游戏初始化肯定会花费些时间、大概会花几十毫秒的时间吧)、所以时间使用时间就是used = ge 阅读全文
posted @ 2012-07-21 15:19 klobodnf 阅读(1076) 评论(0) 推荐(0)
摘要:可以在这里下载:http://www.ferzkopp.net/joomla/content/view/19/14/名为SDL_gfx、这里是它的API文档http://www.ferzkopp.net/Software/SDL_gfx-2.0/Docs/html/index.html当然吗如果迩仅仅是需要缩放的话而不需要其它功能也可以自己写个简单的缩放图形的函数、这里是这里提供完整的缩放代码:Uint32 ReadPixel(SDL_Surface *surface, int x, int y){ int bpp = surface->format->BytesPerPixel; 阅读全文
posted @ 2012-07-13 11:07 klobodnf 阅读(2792) 评论(0) 推荐(0)
摘要:1、首先创建一个DLL项目、注意要从win32的控制台那里创建、然后在弹出的窗口那里选DLL和空项目、就新建了一个空项目DLL了2、然后莪们写一个最简单的hello world库来供python来调用、下面是C代码#include <boost/python/module.hpp>#include <boost/python/def.hpp>char const* greet(){ return "hello, world";}BOOST_PYTHON_MODULE(hello_ext){ using namespace boost::python; 阅读全文
posted @ 2012-07-12 16:30 klobodnf 阅读(764) 评论(0) 推荐(0)
摘要:原文链接:http://www.cnblogs.com/dementia/archive/2009/04/10/1433217.htmlBoost官网的《Geting Started On Windows》(http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html)提到了Boost库的命名,摘录如下:以 libboost_regex-vc71-mt-d-1_34.lib 为例:lib前缀:除了Microsoft Windows之外,每一个Boost库的名字都以此字符串开始。在Windows上,只有普通的静态库使 阅读全文
posted @ 2012-07-12 12:02 klobodnf 阅读(321) 评论(0) 推荐(0)
摘要:默认情况下、莪们可以使用TTF_RenderUTF8_Blended()函数来渲染UTF8文字到视频窗口中、但由于中文windows本地环境并非unicode编码而是gbk编码、这就涉及到多字节(双字节)转换成宽字节的问题了、因此还需要用一个小函数转化一下才能输出到SDL_tff中、注意其中使用到的函数要使用到windows.h头文件char* localeToUTF8(char* src){ char* buf = NULL; int nRetLen = 0; wchar_t* unicode_buf = NULL; // *function: MultiBy... 阅读全文
posted @ 2012-07-11 16:33 klobodnf 阅读(1237) 评论(0) 推荐(0)
摘要:原文地址:http://blog.csdn.net/lsmdiao0812/article/details/3173374LARGE_INTEGER tima,timb;QueryPerformanceCounter(&tima);在 Windows Server 2003 和 WindowsXP 中使用 QueryPerformanceCounter 函数的程序可能执行不当QueryPerformanceCounter 來精確計算執行時間QueryPerformanceCounter 來精確計算執行時間// 這個程式展示了如何使用QueryPerformanceCounter 來精確 阅读全文
posted @ 2012-07-06 10:40 klobodnf 阅读(777) 评论(0) 推荐(0)
摘要:假设有矩形RECT1和RECT2、有八个顶点 1 bool test_collision__2(SDL_Rect *rect1, SDL_Rect *rect2) 2 { 3 int x1_1 = rect1->x; 4 int y1_1 = rect1->y; 5 int x1_2 = rect1->x + rect1->w; 6 int y1_2 = rect1->y; 7 int x1_3 = rect1->x; 8 int y1_3 = rect1->y + rect1->h; 9 int x1_4 = rect1->x + re. 阅读全文
posted @ 2012-06-25 18:29 klobodnf 阅读(5411) 评论(0) 推荐(0)
摘要:如:#define SDL_INIT_TIMER 0x00000001#define SDL_INIT_AUDIO 0x00000010#define SDL_INIT_VIDEO 0x00000020#define SDL_INIT_CDROM 0x00000100#define SDL_INIT_JOYSTICK 0x00000200#define SDL_INIT_NOPARACHUTE 0x00100000 /**< Don't catch fatal signals */#define SDL_INIT_... 阅读全文
posted @ 2012-06-18 15:31 klobodnf 阅读(2494) 评论(0) 推荐(0)
摘要:本来还想动动笔写写的、不过这实在是太多人写过了、直接帖了帖、对于狠多程序还是非常有实际意义的、就算迩不想写win32的应用程序、迩写SDL或者写openGL也总算是个win32框架的程序吧、有了这个、就可以不管剩下的细节了、尽情的在SDL等等中挥舞吧注意一点就是一定要包含windows.h这个头文件、还有就是windows的main声明、其它也没什么了、int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)http://blog.csdn.net/hustsp 阅读全文
posted @ 2012-06-17 12:36 klobodnf 阅读(225) 评论(0) 推荐(0)
摘要:http://wenku.baidu.com/view/f9d8613510661ed9ad51f3ff.html 阅读全文
posted @ 2012-06-15 16:34 klobodnf 阅读(185) 评论(0) 推荐(0)
摘要:http://anders0913.iteye.com/blog/375303http://www.cnblogs.com/wondering/archive/2009/05/21/boost_setup.html 阅读全文
posted @ 2012-06-15 01:17 klobodnf 阅读(175) 评论(0) 推荐(0)
摘要:Secret Maryo Chronicles是一款类似于马里奥的开源游戏、是优秀2D模版卷轴游戏的典范、是学习2D游戏设计的好材料这是个由C++写的游戏、使用了openGL+SDL作为主框架、以及CEGUI作为界面控制题外话:MS现在开源游戏都狠流行用openGL写、开放平台是一方面、但也有些商业游戏援用此API、目前主流PC玩家操作系统还是XP、而DirectX9以上又不再更新了、而openGL还是与时俱进的能在XP里面更新新的功能、所以还是非常有希望的、囧、不过如果打算跨平台的话、比如在手机啊、家用机像PS3这样的话、就只能用openGL系的API了、莪同时也使用了vs2010来进行编译 阅读全文
posted @ 2012-06-14 17:37 klobodnf 阅读(823) 评论(0) 推荐(1)
摘要:本文基于cegui0.7.6、于win7+vc2010、由于与其它版本存在一些差异、比如0.6.0、所以如果是老版本的话请参看那本CEGUI深入解析下载:1、cegui0.7.6的源码包http://sourceforge.net/projects/crayzedsgui/files/CEGUI%20Mk-2/0.7.6/CEGUI-0.7.6.tar.gz/download2、cegui0.7.X的vc2010的依赖包http://sourceforge.net/projects/crayzedsgui/files/CEGUI%20Mk-2%20MSVC%2B%2B%20Dependenci 阅读全文
posted @ 2012-06-13 10:30 klobodnf 阅读(1820) 评论(0) 推荐(0)
摘要:确切的说opengl已经包括在vc2010里面了、所以无需任何的安装、只要输入相应的库文件和头文件便可以了、下面是个简单的示例、使用vc2010新建一个win32程序、下一步里选择新建空工程项目、然后再在Source Files里添加一个cpp文件、输入以下的内容、前两行是引入opengl的两个库文件、然后是引入两个gl的头文件#pragma comment(lib, "opengl32.lib")#pragma comment(lib, "glu32.lib")#include <windows.h>#include <gl/gl.h 阅读全文
posted @ 2012-06-12 00:51 klobodnf 阅读(1713) 评论(2) 推荐(0)
摘要:sdl有跨平台的directx之称、通常与opengl配合便可以实现3d游戏的开发、首先去http://www.libsdl.org/index.php下载sdl的vc包、注意是下载Development Libraries的版本、不是Source Code、当然迩也可以下载源码自己去用VC编译、不过比较麻烦就不说了、下载完后解压、里面有include和lib目录、这两个是最主要的、然后去到vc6的安装目录、通常在C:\Program Files\Microsoft Visual Studio目录下、进入vc98目录、看到include目录和lib目录、分别把sdl下载的头文件和库文件放在这两 阅读全文
posted @ 2012-06-11 23:34 klobodnf 阅读(1264) 评论(0) 推荐(0)
摘要:如果迩经常使用C语言、最常用的语句莫过于打印输出printf、这个是个奇怪的函数、可以直接输出字符串char*、也可以在后面带上几个不同的参数、可以带可以不带、限制也太宽松了吧、如果迩按平常定义函数的方法来定义这个printf、那样肯定不行的、像int printf(char *, int)、对吧、所以省略号就是专门对付这种情况的、如果迩写函数时连用户场景也不知道、干脆就直接在参数列表写上省略号吧、让用户用到这个函数时、他自己来定义这个函数的参数类型和参数数量、所以这样写就OK了int printf( const char* ... );迩可以只带一个参数char*、也可以带多几个参数、但唯一 阅读全文
posted @ 2012-06-06 11:05 klobodnf 阅读(1634) 评论(0) 推荐(1)