- 博客(46)
- 资源 (13)
- 收藏
- 关注
原创 A*算法的寻路中的应用——无阻挡
按照之前转载的文章,自己先实现了下,表示还是很多坑:#include "stdio.h"#include #include #include #include using namespace std;int neigor[][2] ={ {-1, -1}, {0, -1}, {1, -1}, {1, 0}, {1, 1}, {0, 1}, {-1, 1}, {-1, 0}}
2014-04-30 18:37:33 1390
转载 在A-star寻路中使用二叉堆
作者:Patrick Lester(2003年4月11日更新)翻译:Panic2005年3月28日译者序:这一篇文章,是“A* Pathfinding for Beginners”,也就是我翻译的另一篇文章“A*寻路初探”的补充,在这篇文章里,作者再一次展现了他阐述复杂话题的非凡能力,用通俗易懂的语句清晰的解释了容易让人迷惑的问题。还是那句话,如果你看了这篇文章仍然
2014-04-29 22:27:04 1502
转载 Using Binary Heaps in A* Pathfinding
By Patrick Lester ( Updated April 11, 2003)This article is a sidebar for my main article, “A* Pathfinding for Beginners.” You should read that article, or understand A* thoroughly, before procee
2014-04-29 20:45:11 930
原创 linux下cmake编译C++工程之总结篇
昨天正式把项目编译完成,经历了一周的摸索和折磨后,最后也想:oh,it's so easy!但是过程确实困难的,因为cmake官方只有API的解释,而且解释的不是很清楚。一般项目都是狠复杂的层级关系projectincludelibbinproject1project2project3....这种如何来写cmake呢?首先要知道一个很重要的东西,cm
2014-04-29 13:29:26 7570
原创 如何终结服务器进程
windows下面可以主线程while loop接受input;但是觉得很丑。linux没办法这样,可以用注册信号的办法。实现起来也不难:#include "stdio.h"#include "unistd.h"#include "signal.h"#include "error.h"volatile bool isStop = false;static void handl
2014-04-29 12:40:36 1506
转载 Linux Core Dump
来自:http://www.cnblogs.com/hazir/p/linxu_core_dump.html当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下
2014-04-29 12:23:05 890
转载 A* 寻路算法
译文地址:http://www.cppblog.com/christanxw/archive/2006/04/07/5126.html原文地址: http://www.gamedev.net/reference/articles/article2003.asp概述虽然掌握了 A* 算法的人认为它容易,但是对于初学者来说, A* 算法还是很复杂的。搜索区域(The Search
2014-04-29 06:52:40 1119
原创 ubuntu server下调用boost::filesystem失败
会看到一大堆错误:/usr/include/boost/thread/pthread/thread_data.hpp: In constructor ‘boost::detail::tss_data_node::tss_data_node(boost::shared_ptr, void*)’:/usr/include/boost/thread/pthread/thread_data.hpp:
2014-04-27 13:30:55 1829
原创 前置声明的危险
先看代码:#include class A{ int m; char* arr; public: A(int a); ~A();};#include #include "A.h"A::A(int a){ if (a > 0){ printf("%s\n", __FUNCTION__); arr = new char[a]; }} A::~A()
2014-04-21 08:00:52 1447
原创 lua table源码学习
刚从超市回来,吃了一包樱桃很满足,哈哈,就接着跟着云大哥看看lua table部分的源码:table是lua里唯一暴漏给client的数据结构,肯定是大神们经过精心设计的。对于使用者简单易用,木有STL那么多容器,那table是如何被操作呢,我不怎么喜欢一开始就问“table是如何实现”,因为了解了使用场景才有兴趣了解它的内部构造。LUA_API void lua_createtable
2014-04-19 20:06:28 2481 2
原创 lua string源码分析总结
lua字符串内部存储分为短字符串和长字符串,可以从下面的宏看出:#define LUA_TSTRING 4/* Variant tags for strings */#define LUA_TSHRSTR (LUA_TSTRING | (0 << 4)) /* short strings */#define LUA_TLNGSTR (LUA_TSTRING | (1 可以看出短字
2014-04-19 14:19:17 3033
原创 我的vim配置
source ~/.vim/bundles.vim" encoding dectectionset fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1" enable filetype dectection and ft specific plugin/indentfiletype plugin indent on
2014-04-18 19:44:55 1604
转载 什麼是Zero-Copy?
什麼是Zero-Copy?想要了解這個名詞是指什麼意思的話,讓我們從一個簡單的範例開始,這個範例是server讀取一個檔案,然後把檔案資料經由socket將資料傳送給client。簡化範例程式如下:read(file, tmp_buf, len);write(socket, tmp_buf, len);Figure 1的圖說明了,這兩行程式實際的運作流程。(1)當執行r
2014-04-16 22:54:03 902
原创 placement new 的问题
内存池会用到这种技巧,但是还是有内存泄露的风险:#include #include #include #include using namespace std;class User{public: ~User() { } int m1; map m2; vector m3;};int a = 1;void printInfo(){ printf("%d\
2014-04-16 20:18:41 1040
转载 20条技巧,让Chrome超越Firefox (2010-11-16更新)
作者: 善用佳软 日期: 2010-11-16 分类: 浏览器 标签: Chrome, Firefox2010-11-16: 重写引言;新增目录;更新1-5的文字及配图。Firefox 浏览器是很多人心中的经典。除了从NetScape开始的传奇色彩、对抗IE的英雄形象之外,在技术方面,Firefox 最被人称道的就是极为丰富的扩展、极强的定制性。只要愿意花时间,用户可以
2014-04-14 14:49:00 1329
原创 STL对空间配置的设计哲学-《STL源码剖析笔记》
STL对空间配置的设计哲学是:1、向heap球空间;2、考虑多线程;3、考虑内存不足时的应变措施;4、考虑过多“小对象”可能造成的内存碎片问题;oh,no这本书不考虑多线程的情况!考虑到小对象可能造成的内存碎片,STL设计了双层Alloc;第一季直接使用malloc,free;第二级则看情况采用不同的策略:1)当配置区域超过128byte,为“”足够大“,调用第
2014-04-12 08:19:42 1102
原创 C11 随机数
看到了 CSDN一位童鞋的一篇关于C11随机数的文章,才知道自己out了。之前都是用Rand来伪随机;C11这个东东的产生随机数的原理是神马呢?二话不说,先来真相:#include #include #include #include using namespace std;int main(){ std::default_random_engine generator(ti
2014-04-09 21:19:38 3453 1
原创 std::unorder_hashmap分析
VS2010下是基于桶实现的;下面就以operator []来看; mapped_type & operator []( key_type&& _Keyval ) { // find element matching _Keyval or insert wi
2014-04-09 11:39:32 2680
原创 C++简单模板元编程
今天想用模板元编程,网上搜了下,很多用boost::mpl实现,我自己写了个简单测试了下:#include using namespace std;template struct Test{ Test():num(N){ } int num; int arr[N]; void GetNum() { printf("%d\n", num); }};int m
2014-04-08 17:51:50 1281
转载 游戏中IAP server端工作
前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作。步骤繁多,在此把开发步骤列表整理如下。因为只是步骤列表,所以并不含详细的说明教程,需要看教程的新手,可以看我附在最后的一些参考链接。配置Developer.apple.com登录到Developer.apple.com,然后进行以下步骤:为应用建立建立一个不带通配符的
2014-04-08 11:29:48 1335
翻译 Linux/Unix地址空间详解
For a working definition, we’ve said that a process is a running program. This meansthat the operating system has loaded the executable file for the program into memory,has arranged for it to have
2014-04-07 10:46:03 1037
翻译 Kmalloc内部实现:挖掘Linux内核内存分配(一)
为什么写这篇文章:最近我在几个linux设备上发现整数溢出,以致我开始用kmalloc重写内存分配。注意:理解这篇文章需要知道点linux内核。有时候我肯能用熟知的一些函数名。如果你不知道他们的意义,可以快速google。我提到的所有关于cache的函数都能在/usr/src/linux/mm/slab.c找到。一些数字是在IA-32架构上给出的。我努力加粗函数名和数据类型。在一些
2014-04-06 23:45:25 3904
Oracle8i_9i数据库基础
2011-12-21
FaceTracking
2011-11-20
Efficient region segmentation through ‘creep-and-merge’
2011-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人