- 博客(62)
- 资源 (3)
- 收藏
- 关注
原创 自己写了个磁力链搜索引擎
磁力链接,简称"磁力链",最常见的用途是基于文件内容的散列函数值来链接到特定文件,生成一个唯一的文识别符用于找到文件。磁力链接可被运行在几乎所有平台上的应用程序们使用以下载一个文件。因为磁力链接十分简洁且为纯文本格式,所以用户可以很方便地将其复制到电子邮件或即时消息中。程序的前段展示采用python的django架构。程序后端有个dht爬虫,24小时挂着从dht网络中抓取数据,具体实现原理
2017-02-25 14:14:46
12325
35
转载 C++之extern "C"的含义
extern "C"的含义是编译生成的内部符号名使用C语言的规则。我们需要知道的是,对于不同的编译器,在编译一个函数时,编译出来的函数名称或参数排列的顺序可能是不同的。例如,我们假设某个函数的原型为:void foo( int x, int y ); 该函数被C编译器编译后在符号库中的名字可能为_foo,而C++编译器则会产生像_foo_int_int之类的名字(_foo_int_int这样的名字
2012-11-12 10:40:41
669
转载 变量与内存分配(一)
简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。 预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构
2012-11-12 10:29:36
690
转载 C++之预处理
预处理是指在进行程序编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。预处理是C语言一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分进行处理,处理完毕自动进入对源程序的编译。 预处理程序(预处理器)包含在编译器中。预处理程序首先读源文件,预处理的输出是“翻译单元”,它是存放在内存中的临时文件。编译器接受预处理的输出
2012-11-12 10:20:52
722
转载 C++之#progma pack预处理
前文我们简单地介绍了一下C\C++中的预处理,现在我们再来了解一下#progma pack的使用方法。 #progma pack ([n])表示内存对齐,目的是为了优化内存,减少内存碎片,使得内存按照一个固定的规则进行分配,让分配的内存总是n的倍数,避免随意分配内存大小。举个例子,我们在Visual C++中编写如下的类,class X { int a; ch
2012-11-12 10:17:36
1486
转载 C++之类的构造与析构(一)
今天我们了解一下类的构造函数、析构函数。其中构造函数会提到默认构造函数、重载构造函数和复制构造函数。好了,现在开始我们的旅程吧。 首先温习一下C和C++中分配内存的方法。我们知道,C中的malloc/free和C++中的new/delete是用来分配内存和释放内存的,这里的内存是前面博文提到的“堆”。(如果不了解什么是堆,请参考文章《C\C++的内存存储》 )他们的区别如下:
2012-11-12 10:11:30
2431
转载 一条进程的栈区、堆区、数据区和代码区在内存中的映射
出处: 少即是多,慢即是快! 栈区:主要用来存放局部变量,传递参数,存放函数的返回地址。.esp始终指向栈顶,栈中的数据越多, esp的值越小。 堆区:用于存放动态分配的对象,当你使用 malloc和new等进行分配时,所得到的空间就在堆中。动态分配得到的内存区域附带有分配信息,所以你能够free和delete它们。
2012-11-12 10:03:14
695
转载 C++之deque
1 什么是STL STL就是C++ Standard Template Library,也就是标准模版库,是一个高效的C++程序库。STL包含六大组件:容器(container)、算法(algorithm)、迭代器(iterator)、配置器(allocator)、适配器(adapter)和函数对象(function object)。我们在学习这些组件时,应该按其重要程度来区
2012-11-12 09:55:38
2803
转载 C++之deque
今天把最后一个常用的顺序容器简单地描述一下,它就是deque。2 双端队列deque2.1 deque简介 deque是双向开口的连续性存储空间。虽说是连续性存储空间,但这种连续性只是表面上的,实际上它的内存是动态分配的,它在堆上分配了一块一块的动态储存区,每一块动态存储去本身是连续的,deque自身的机制把这一块一块的存储区虚拟地连在一起。 它首次插入
2012-11-12 09:52:17
1198
转载 C++之list
今天我们来讲一讲STL中的顺序容器。昨天我们讲了vector,它就是顺序容器中最常用的容器之一。今天我们讲一讲list。双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是,list不支持对元素的任意存取。list中提供的成员函数与vector类似
2012-11-12 09:48:34
538
转载 C++之vector
vector简介 vector是STL中最常见的容器,它是一种顺序容器,支持随机访问。vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似,不同的地方就是:数组是静态分配空间,一旦分配了空间的大小,就不可再改变了;而vector是动态分配空间,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量。 vector的扩充机制:按照容器现在容
2012-11-12 09:47:38
712
转载 C++深拷贝和浅拷贝区别
c++默认的拷贝构造函数是浅拷贝浅拷贝就是对象的数据成员之间的简单赋值,如你设计了一个没有类而没有提供它的复制构造函数,当用该类的一个对象去给令一个对象赋值时所执行的过程就是浅拷贝,如:class A { public: A(int _data) : data(_data){} A(){}private: int data; };int main() { A a(5), b = a
2012-11-12 09:45:23
567
原创 linux多进程调试
#include stdio.h> #include unistd.h>int main() ...{ if(fork() == 0) ...{ printf("Child
2011-06-30 16:09:00
1107
原创 RHEL6制作yum源
做为SA都知道,要安装一个软件包,面对的一大堆的依耐包,要不就是在网上下,要不就是在安装光盘中找,一次两次可以,次数多了就烦。其次就是如果是有好几十台机器同时安装一个软件包,手工一个一个安装那就更痛苦了。RedHat 发布了最新的 RHEL 6,本着尝鲜的态度赶快装两台看看,系统是装完了。赶快想着 制作一个 本地yum 源,彻底脱离光盘,为以后的批量安装打好基础。最初以为RHEL 6的YUM源
2011-06-30 15:18:00
1865
原创 linuxQQ 输入法bug解决方案
在linux下安装的QQ软件,发现输入法不能用,只能输入拼音,解决办法:在fedora13环境上安装下面三个软件:1. yum install libcanberra-gtk2-0.10-3.fc10.i3862. yum install bug-buddy-2.24.2-1.fc10.i3863. yum install scim-bridge-gtk-0.4.15-8.fc10
2011-06-30 15:17:00
852
原创 游戏开发入门新手教程1
<br />搜客网社区开通啦!<br /><br />网址:www.soke163.com<br /><br />这里有各类游戏源码 魔域、时空之泪、凤舞、天龙八部、成吉思汗等等.<br /><br />这里有各种游戏开发和游戏辅助开发资料。<br /><br />在这里你可以学习到大量的知识共享到大量的资源,认识一群志通道和的朋友!<br /><br />一块共享,共同进步!<br /><br />快点加入搜客网吧,让我们一块来打造交流和共享的和谐社区吧!!
2011-04-17 09:56:00
707
原创 游戏开发新手入门教程2
<br />搜客网社区开通啦!<br /><br />网址:www.soke163.com<br /><br />这里有各类游戏源码 魔域、时空之泪、凤舞、天龙八部、成吉思汗等等.<br /><br />这里有各种游戏开发和游戏辅助开发资料。<br /><br />在这里你可以学习到大量的知识共享到大量的资源,认识一群志通道和的朋友!<br /><br />一块共享,共同进步!<br /><br />快点加入搜客网吧,让我们一块来打造交流和共享的和谐社区吧!!
2011-04-17 09:56:00
581
原创 游戏开发高级技术
<br /><br />搜客网社区开通啦!<br /><br />网址:www.soke163.com<br /><br />这里有各类游戏源码 魔域、时空之泪、凤舞、天龙八部、成吉思汗等等.<br /><br />这里有各种游戏开发和游戏辅助开发资料。<br /><br />在这里你可以学习到大量的知识共享到大量的资源,认识一群志通道和的朋友!<br /><br />一块共享,共同进步!<br /><br />快点加入搜客网吧,让我们一块来打造交流和共享
2011-04-17 09:32:00
692
原创 搜客网游戏源码社区开通啦!游戏源码、游戏技术交流、游戏辅助等交流共享平台
<br />搜客网社区开通啦!<br /><br />网址:www.soke163.com<br /><br />这里有各类游戏源码 魔域、时空之泪、凤舞、天龙八部、成吉思汗等等.<br /><br />这里有各种游戏开发和游戏辅助开发资料。<br /><br />在这里你可以学习到大量的知识共享到大量的资源,认识一群志通道和的朋友!<br /><br />一块共享,共同进步!<br /><br />快点加入搜客网吧,让我们一块来打造交流和共享的和谐社区吧!!
2011-04-16 12:03:00
6604
2
转载 DLL导入导出的一些精辟见解
<br />我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。但是,MSDN文档里面,对于__declspec(dllimport)的说明让人感觉有点奇怪,先来看看MSDN里面是怎么说的:<br />不使用 __declspec(dllimport) 也能正确编译代码,但
2010-06-08 17:26:00
1052
原创 源代码资料网站
网上找到的源码网址http://www.soke163.com很多商业的游戏源码http://search.youkuaiyun.com/优快云搜索,优快云还是有非常多的编程资源的,用它的搜索能搜出不少东西。代码类别也比较全面。http://snippets.org/简单实用的代码收集网站,强力推荐。比如你要找个DES加密,要找个数据压缩,找个INI文件操作的C代码等,均能手到
2009-10-26 14:23:00
3969
原创 进程间通讯
摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面地阐述了这些方法的特点,并加以比较和分析,希望能给读者选择通信方法提供参考。 关键词 进程 进程通信 IPC Win32 API 1 进
2009-10-26 11:05:00
431
原创 C++笔试题
一、问答题1.请说明类的纯虚函数、虚函数、静态成员函数、普通成员函数的区别。2.什么情况下,类的析构函数应该声明为虚函数?为什么?3.对于下面的代码:class myString;myString *pStringArray = new myString[13];以下两种delete有什么区别?delete pStringArray;delete []pStringArray;
2009-10-20 14:00:00
915
2
转载 数据结构--字典树(trie tree)
字典树(trie tree) 今天AC了两题trie tree的题目,感觉trie的性质真的是相当的好,而且实现比较简单。它使在字符串集合中查找某个字符串的操作的复杂度降到最大只需O(n),其中n为字符串的长度。trie是典型的将时间置换为空间的算法,好在ACM中一般对空间的要求很宽松。 trie的原理
2009-10-14 14:05:00
3091
2
原创 游戏外挂设计技术探讨
一、 前言 所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。 不管游戏外挂程序是不是“合法”身份,但是它却是具有一定的技术含量的,在这些小小程序中使用了许多高端技
2009-08-13 17:40:00
914
原创 Cempi实战攻略(六)——如何截获到达的短消息
1. MapiRule是什么?我从哪里能够得到它?MapiRule是微软提供的用于演示短信拦截技术的DEMO程序,程序展示了使用COM技术为tmail.exe注册服务,实现客户端短信拦截的基本方法。您可以再SDK的安装目录中找到它,如果您使用的是PPC2003的SDK,MapiRule程序可以在下面的目录找到: C:/Program Files/Windows CE Tool
2009-08-13 16:56:00
845
原创 CEMAPI实战攻略(四)——发送短消息
四.发送短消息发送短信是一个相对比较简单的过程,之所以拿出来一节来讨论,是因为我们不仅仅要讨论如何发送短信,还要讨论一个重要的进程,也就是tmail.exe进程。简单的讲,这个进程在后台控制着短信和邮件的接收和发送过程,在前台提供一个显示UI,供大家对短信进行操作。本文短信发送部分,就是利用tmail的短信发送功能实现的,不需要直接使用AT命令,这使得我们发送短信部分的代码变得异常简单。1
2009-08-13 16:55:00
732
原创 CEMAPI实战攻略(三)——操作信箱中的短信息(下)
6. 解析原始短消息 当成功获取原始信息以后,还不能从中直接获得短信正文等我们想要的内容,要想得到这些内容,还需要对原始信息作一些操作。还记得我们前面提过的短消息的组成结构吗?下面的内容从原始短信中获取每个结构中的内容。a) 获取正文前面提到了Subject和body的关系,在发送短信的时候,Subject的内容后面加上一个/n,
2009-08-13 16:52:00
1202
1
转载 CEMAPI实战攻略(三)——操作信箱中的短信息(上)
三.操作信箱中的短信息1. Windows mobile中短消息的组成用过的Windows Mobile平台设备的朋友在第一次发送的短信的时候或多或少都会有些困惑,尤其是使用Windows Mobile 2003以前版本的朋友,发短信的UI上不但有填写目的号码和正文的地方,还有填写主题,CC甚至BCC的位置,搞得用户不知如何是好。为什么会有这些内容前面实际上已经提到过了。WM系
2009-08-13 16:51:00
788
原创 CEMAPI实战攻略(二)——建立与短信信箱的连接
二.建立与短信信箱的连接上一部分已经讨论过,如何搭建开发和测试环境,以及如何初始化CEMAPI,再继续这一部分的讨论之前,我们先要澄清几个概念。第一个是会话(Seesion),相信开发网络应用的朋友都不陌生,为了提高通讯效率降低通讯开销,有时候我们需要再目标与本地之间创建一个通道,在通道创建之初,目标与本地先做一些列的响应和请求确认两边的身份,当通道建立以后,目标与本地之间的通讯过程中就不再涉
2009-08-13 16:50:00
1199
转载 CEMAPI实战攻略(一)
一.准备工作1. 开发环境和设备平台a) 下载和安装微软已经发布了Windows Mobile 6.0 SDK和中文版的仿真器已,WM6.0的SDK和仿真器分成了标准版和专业版两个版本,由于两个版本都可以支持cemapi.lib,因此我们可以选用其中任意一个版本作为我们的开发平台。本文选择了WM6.0 SDK Professional和WM6.0 中文版仿真
2009-08-13 16:48:00
790
转载 DLL初学者指南(非MFC)
我正在学习DLLs,谈不上对其有什么高屋建瓴的见解;本文只是(通过)编码让你看到并想知道代码是如何运行的。在本文中,我假定你知道如何使用你的编译器特性,比如设置目录路径等等。 为了建立项目,请选择Win32 控制台项目(Win32 Console Application),并且在应用程序设置标签(the advanced tab)上,选择DLL和空项目选项。DLLs可能并不如你想像的那样难。首
2009-08-05 10:43:00
407
原创 基于DIRECTX的3D粒子系统构建4
4、 粒子池 class CParticalPool{private: LPPARTICLENODE m_lpParticalUnit;//存放粒子的内存空间int m_iFreePointer; //空闲粒子的指针LPWORD m_lpwFreeStack;//空闲粒子的编号存储栈 public:CPart
2009-06-30 14:14:00
1037
原创 基于DIRECTX的3D粒子系统构建3
3、 粒子发射器 class CPemitter { public: int m_iParticleType; //粒子的类型void* m_lpParticleMesh;//粒子的实际使用元素,他可能是任意的可见元素//(BILLBOARD或Point Sprites),因此我们把它设为// void*类型
2009-06-30 14:13:00
1113
1
原创 基于DIRECTX的3D粒子系统构建(2)
三、在DIRECTX9.0环境下粒子系统的实现 这一节,笔者将会介绍在DIRECTX9.0环境下如何实现一个简单的粒子系统,并着重对Point Sprites粒子类型作详细说明。1、Point Sprites粒子结构 首先来看一个Point Sprites粒子是如何定义的: //一个Point Sprites粒子的顶点结构
2009-06-30 14:12:00
1722
原创 基于DIRECTX的3D粒子系统构建1
“电实际上是由极细的微粒构成,称为电子,通常无法用肉眼看到,除非喝醉了。” ————大卫.巴利 在游戏制作的2D时代,我们就见到过不少加入了粒子系
2009-06-30 14:11:00
1431
转载 D3D学习笔记之十---模型的载入
终于开始了3D里面最激动人的一刻,前面,我们一直在自己用程序定义顶点,然后在上色,或者再贴纹理,总是那么点东西,很不好看,也许大家会有这样的疑问,如果老是那么去画,复杂的模型我们怎么能画的出来?比如一个房子,一个椅子。的确,这样的模型用程序区画出来是很难的,这次我们就来解决这个问题,用的是模型,就是在3DMAX等一些3D建模工具里面建好的模型,我们导入到我们的程序里面来显示,这下我们的世界可就丰富
2009-06-26 15:45:00
1143
转载 D3D学习笔记之八---纹理
我们前面也见到我们自己用顶点生成的物体了,但是是不是感觉不逼真,的确,如果模型都这个样子的话,就太失败了,这次我们就能让模型变的漂亮起来,我们要在模型上添加上纹理。纹理?什么时候纹理?简单的来说,就是将一些图片贴到物体的表面,让物体看起来更加的逼真,这些图片就是纹理。大家也许会问,我们这样生成物体,又贴纹理的,那复杂的模型要多难啊,其实这个担心是多余的,在程序里面很少会用到我们自己
2009-06-26 15:44:00
950
转载 D3D学习笔记之九---纹理过滤方式
这次我们就讨论一下怎么去设置纹理的过滤方式我们先来讨论一下纹理的过滤方式的实现,下面是实现的代码,(其实很简单的)下面是代码://=============================================================================// Desc: 最近点采样和线性纹理过滤方式//=======================
2009-06-26 15:44:00
1232
转载 D3D学习笔记之七---光照效果
这次我们来讨论一下,光照的效果,有了光照可以把我们的虚拟世界渲染的更加的逼真,那么我们怎么去控制关照呢,这次我们就好好的研究它一番先把代码上来吧, //=============================================================================// Desc: 简单灯光范例程序//==================
2009-06-26 15:43:00
1106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人