- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 蜂窝网格算法
#define CELL_BORDER (40) //六边形边长#define GRID_WIDTH (CELL_BORDER*1.5f)#define GRID_HEIGHT (CELL_BORDER*0.8660254f) // sqr(3)/2=0.8660254#define TEMP_1 ((GRID_WIDTH*GRID_WIDTH - GRID_HEIGHT
2014-09-15 10:05:22
6664
原创 排序
插入排序 直接插入排序(Insertion Sort) -- 循环将后面的小值往前移 Shell希尔排序,也称递减增量排序算法 -- 递减增量分组,增量值为d=(d/2)开始,对单组进行直接插入排序 交换排序 冒泡排序(Bubble Sort) -- 循环将大值往后移 快速排序 -- 递归以中间基数,分大小两组选择排
2014-06-07 18:36:11
688
转载 makefile中“=”和“:=”的区别
1、“=” make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子: x = foo y = $(x) bar x = xyz 在上例中,y的值将会是 xyz bar ,而不是 foo bar 。
2014-04-23 15:20:01
791
原创 通用makefile
SRCS = $(wildcard *.c)OBJS = $(SRCS:.c = .o)CC = gccINCLUDES = -I../include -I../include/msvc_compatLIBS = -L../lib/CCFLAGS = -g -Wall lib.a -O0 -lpthreadapp:$(OBJS) $(CC) $^
2014-04-23 14:53:31
772
原创 lua 说明self,点号或冒号的关系
-- 定义的时候冒号默认接收self参数-- 调用的时候冒号默认传递调用者自己为参数-- 而句号要显示传递或接收self参数-- 例如:句号定义,需要显示传递或接收a = { x = 1 }function a.fun(self) print(self.x)enda.fun(a)--输出1,将a自己做为参数传给fun函数的self--这样
2014-04-04 14:50:48
12815
2
原创 lua 面向对象
封装成对象调用,用copyObj拷贝数据来创建新对象目的是new出来的每个对象有自己独立的数据包括它的基类数据function copyObj(obj) local tab = {} for k, v in pairs(obj or {}) do if type(v) ~= "table" then tab[k] = v else tab[k] = copyTa
2014-04-04 14:20:52
890
原创 lua 一个简单的继承/派生关系
a = { name = 'this is a'}function a:fun()print(self.name)endb = { name = 'this is b'}c = { name = 'this is c'}setmetatable(b,{__index = a}) -- 指定继承关系setmetatable(c,{__index =
2014-04-04 14:07:30
1372
转载 多线程中的lua同步问题
多线程中的lua同步问题http://www.cnblogs.com/ghost240/p/3526185.html最近写paintsnow::start时出现了一个非常麻烦的BUG,程序的Release版本大约每运行十几次就会有一次启动时崩溃(Debug版本还没崩溃过),崩溃点也不固定。经过简单分析之后,确定是线程同步的问题。于是便修改了线程通信的代码,并使用pthr
2014-03-26 20:37:05
7936
原创 补码
数字在计算机的存储方式目地是为了把减法表现为加法的形式 正数的补码是它 本身负数的补码是它的 正数取反加1 存储单位是单字节8位表示求补码一:如:1补码是1求-1补码:1 取反11111110 加一11111111-1补码是11111111 两个数(正负数)的加法通过把两个数的补码相加-1 + 1 = 0通过补码 11111111
2014-01-19 03:36:01
926
转载 iconv_linux下字符集编码转换轻松实现
//iconv_linux下字符集编码转换轻松实现(1) iconv_t iconv_open(const char *tocode, const char *fromcode);//此函数说明将要进行哪两种编码的转换,tocode是目标编码,fromcode是原编码,该函数返回一个转换句柄,供以下两个函数使用。(2) size_t iconv(iconv_t cd,char **in
2013-03-11 17:46:20
828
翻译 iphone 无证书真机调试
iphone 无证书真机调试 参考:http://www.alexwhittemore.com/?p=398 开发环境Mac 10.6.6xcode4iphone4ios4已越狱 在cydia中安装Appsync重启iphone 在mac用文本编辑打开/Developer/Platforms/iPhoneOS.platform/Devel
2011-10-29 17:57:49
2497
转载 lua的一些效率问题
一。 查其原因主要是lua局部表引起的,类似这样:local tt[] = {}tt[1] = {1,2,3}tt[2] = {1,2}...总共就20个元素左右,并不多,这样的表格在极端情况下偶然发生消耗几百毫秒(在我们测试机上似乎是500ms左右)
2011-10-02 10:09:32
1489
原创 redmine和svn结合
<br /> <br />下载redmine<br />http://bitnami.org/files/stacks/redmine/1.1.2-1/bitnami-redmine-1.1.2-1-windows-installer.exe<br />安装时一直next,如果端口被占用,改个端口就行<br /> <br />下载svn服务器<br />http://www.visualsvn.com/files/VisualSVN-Server-2.1.7.msi<br />安装一直next<br />默
2011-04-06 17:52:00
8561
1
原创 sql 清存储过程注释
<br />DECLARE curSPName CURSOR FOR SELECT [name] FROM sysobjects WHERE xtype='P' <br />DECLARE @SPName nvarchar(200) <br />DECLARE @Table TABLE([Text] nvarchar(200)) <br />DECLARE @ErrTab TABLE(ERSP nvarchar(200), <br />ErrorNumber nvarchar(200), <br />Err
2011-03-17 03:34:00
972
原创 sql 查询存储过程内容
<br />select b.name from <br />dbo.syscomments a,dbo.sysobjects b <br />where a.id=b.id and b.xtype in ('p','tr','fn','tf','if') <br />and a.text like '%context%'
2011-03-17 03:33:00
967
原创 外连数据库
<br />OPENDATASOURCE('SQLOLEDB', 'Data Source=192.168.1.100;Initial Catalog=database;Persist Security Info=True;User ID=name;pwd=password).database.[dbo].table
2011-03-17 03:32:00
512
转载 查询所有表大小
<br />create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20), index_size varchar(20), unused varchar(20)) <br />exec sp_MSforeachtable "insert into #t exec sp_spaceused '?'" <br />select * from #t <br />order by rows desc <b
2011-03-17 03:30:00
562
原创 sql 查看最近修改的表或存储过程
<br />USE DataBase<br />select * from sys.all_objects where type IN('P','FN','TR','IF','TF') AND modify_date>='2009-2-18' order by modify_date desc
2011-03-17 03:29:00
1652
原创 sql 递归查询结果集1 ~ 100
<br />with T as ( select a from (select 1 a) TT union all select a+1 from T where T.a<100 )select * from T
2011-03-17 03:27:00
1146
原创 Flex 处理双字节字符(判断汉字长度)的方法
<br />String(str.replace(/[^/x00/xff]/g,"xx").length
2011-03-17 03:25:00
626
原创 sql随机列值 newid转float
<br />select RAND(CAST(CAST(NEWID()AS binary(10))AS int))
2011-03-17 03:24:00
1012
转载 矩阵求逆的快速算法(转)
//矩阵求逆的快速算法 //算法介绍 //矩阵求逆在3D程序中很常见,主要应用于求Billboard矩阵。按照定义的计算方法乘法运算,严重影响了性能。在需要大量Billboard矩阵运算时,矩阵求逆的优化能极大提高性能。这里要介绍的矩阵求逆算法称为全选主元高斯-约旦法。 //高斯-约旦法(全选主元)求逆的步骤如下: //首先,对于 k 从 0 到 n - 1 作如下几步: //从第 k 行、第 k 列开始的右下角子阵中选取绝对值最大的元素,并记住次元素所在的行号和列号,在通过行交换和列交换将它交换到主元素位
2011-03-17 03:19:00
7678
原创 flex myeclipse jboss 配置
安装flex bluder plugin下载Flex SDK XX下载JDK XX下载Jboss XX配置与优化myeclipsePreferencesFlex - Installed Flex SDKs - Add 添加Flex SDK目录Install/Update - Automatic Updates - 去掉 Automatically find new updates and notify meJava - Installed JREs - ADD 添加 JDKMyEclipse Enterpr
2011-03-09 17:14:00
1092
原创 redmine 安装
ubuntu安装redmine之前要先安装 mysql server并开启mysql服务程序service mysql start直接用新立德安装redmineredmine-mysql安装完成后进入vim /etc/apache2/sites-enabed/000-default在ServerAdmin下添加下面三行RailsEnv productionRailsBaseURI /redminePassengerDefaultUser www-data 启动apache2service apache2 r
2011-03-08 16:14:00
857
原创 C预编译宏
<br />gcc中的预编译宏 <br /><br /> * 预定义的宏<br /> * __NASE_FILE__ 源文件的完整路径名,和 __FILE__ 不同,被引用的文件仍然是原来文件名<br /> * __CHAR_UNSIGNED__ 用于指定该机器上 char 是无符号类型<br /> * __cplusplus 使用 C++ 编译器编译<br /> * __DATE__ 编译时的日期<br /> * __FILE__ 编译文件名<br /> * __
2011-03-06 03:49:00
1058
原创 控制台
windowsAllocConsole FreeConsole AttachConsole GetStdHandleAttachConsole(ATTACH_PARENT_PROCESS);// 将当前程序附着到父进程上,因为是从控制台启动的,所以当前程序的父进程就是那个控制台。freopen("CONIN$", "r+t", stdin); // 重定向 STDINfreopen("CONOUT$", "w+t", stdout); // 重定向STDOUTConsole FunctionsGetCons
2011-03-01 01:52:00
809
原创 GlobalAlloc,LocalAlloc,VirtualAlloc,malloc,new
GlobalAlloc,LocalAlloc,VirtualAlloc,malloc,new一份测试各自分配20000次4096的毫秒数malloc:390new:391VirtualAlloc:454HeapAlloc:471. 首先我们来看HeapAlloc:MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的 空间利用起来,从而导致分配失败),该分配方法是从一指定地址开始分配,而不像GloabalAlloc是从
2011-02-27 03:25:00
704
原创 VIM
1.对vim进行设置 vim /etc/vimrc2.设置C编码风格 :set cindent3.设置缩进 :set cindent shipftwidth=4 :set ts =4设置自动缩进 :set autoindent4.设置显示行号 :set nu不显示行号 :set nonu5.查找时考虑大小写与不考虑大小写::set ic:set noic我在~/.vimrc里加入了inomap ( ()vimtutor帮助q退出q!强制退出w保
2011-02-18 10:25:00
670
原创 同步对象
Critical Section速度快不能用于不同进程Mutex速度慢可用于不同进程Semaphore速度慢可用于不同进程可进行资源统计,可让多于一个线程对共享资源进行存取Event速度慢可用于不同进程可进行资源统计
2011-01-28 20:55:00
513
原创 windows Socket I/O模型简单说明
Socket I/O模型如下:select模型 不停的去检查是否有新事件WSAAsyncSelect模型 注册消息事件,当有新事件发生时,系统发送一个消息给你WSAEventSelect模型 等待多个信号,有消息时,信号灯亮,通知你接收Overlapped I/O 事件通知模型 等待多个信号,有消息时,信号灯亮,通知你接收Overlapped结构Overlapped I/O 完成例程模型 操作数据时,提供一个回调函数,有网络事件时,
2011-01-20 23:13:00
677
原创 调用类中的函数指针
<br />class A<br />{<br />public:<br /> A(int i){j=i;p=&A::C;};<br /> void C(){printf("C %d/n",j);};<br /> void (A::*p)();<br /> int j;<br />};<br /> <br />int _tmain(int argc, _TCHAR* argv[])<br />{<br /> A a(1);<br /> A b(2);<br /> (b.*a.p)();//this指针为b<
2011-01-20 17:48:00
920
原创 连接两个排序的链表
<br />N* linkmerge(N *p1,N *p2)<br />{<br /> if(p1==NULL){ return p2;}<br /> if(p2==NULL){ return p1;}<br /> N* p;<br /> if(p1->data<p2->data)<br /> {<br /> p=p1;<br /> p->next=linkmerge(p1->next,p2);<br /> }else<br /> {<br /> p=p2;<br /> p->next=linkm
2011-01-19 20:02:00
496
原创 链表逆序
<br />struct N{int data;N *next;};<br />N* reverseLink(N *head)<br />{<br /> N *p1=head;<br /> N *p2=p1->next;<br /> p1->next=NULL;<br /> while(p2!=NULL){<br /> N *p=p2->next;<br /> p2->next=p1;<br /> p1=p2;<br /> p2=p;<br /> }<br /> head=p1;<br /> ret
2011-01-18 23:14:00
503
原创 C++要点
求出两个数中较大的一个 ((a+b)+abs(a-b))/2_onexit 注册一个或多个在main主函数执行完毕后再执行的函数,注册函数无参数,后注册的函数先运行。打印源文件名和当前等号 _FILE_ _LINE_当数组作为函数参数传递时,该数组自动退化为同类型指针
2011-01-18 11:29:00
587
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人