自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学海无涯

不积跬步,无以至千里;不积小流,无以成江海。

  • 博客(19)
  • 资源 (17)
  • 收藏
  • 关注

原创 localtime 2次连续调用问题

localtime函数返回的地址是在time.h里面自己定义的一个静态变量的地址,每次都是一样的。也就是第二次调用,会把第一调用时的值擦除,写入第二次的值。

2014-10-17 10:03:07 1398

原创 CCFadeOut ,CCFadeIn 不能使用的原因

CCFadeOut *action = CCFadeOut::create(0.5f); image->runAction(action);截取部分代码。以上是我写游戏时候遇到的问题代码,以上代码是实现渐出效果的。原因:CCFadeOut ,CCFadeIn 原理是通过改变透明值来实现渐出,渐入效果的。而我调用isCascadeOpacityEnabled(),返回值为fa

2014-10-14 11:12:54 3914

原创 warning C4482: error C3867

enum Mode{}

2014-10-13 10:48:43 882

转载 io重叠模式

在 Winsock 中,重叠 I/O(Overlapped I/O)模型能达到更佳的系统性能,高于select模型、异步选择和事件选择三种。重叠模型的基本设计原理便是让应用程序使用一个重叠的数据结构(WSAOVERLAPPED),一次投递一个或多个 Winsock I/O 请求。针对这些提交的请求,在它们完成之后,我们的应用程序会收到通知,于是我们就可以对数据进行处理了。    要想在

2014-08-20 17:07:25 1521

转载 select模型详解

socket编程的select模型      在掌握了socket相关的一些函数后,套接字编程还是比较简单的,日常工作中碰到很多的问题就是客户端/服务器模型中,如何让服务端在同一时间高效的处理多个客户端的连接,我们的处理办法可能会是在服务端不停的监听客户端的请求,有新的请求到达时,开辟一个新的线程去和该客户端进行后续处理,但是这样针对每一个客户端都需要去开辟一个新的线程,效率必定底下。     其

2014-08-19 17:09:02 1853

原创 for循环优化策略

for循环汇编级别的小优化策略,虽然对现在在处理器的影响微乎其微,但是思路值得学习

2014-08-01 10:34:30 869

原创 求质数数量 - 空间换时间

这个方法是空间换取时间的,虽然耗内存,但是效果还不错,毕竟现在内存还是很便宜的。

2014-07-24 18:17:18 1055

原创 2种冒泡排序优化

2种冒泡排序优化,思路相似

2014-07-14 15:43:01 647

原创 《unix编程艺术》读后感

前三章:主要讲解了,unix的历史,以及与其他操作系统的不同之处第四章:模块性-->保持清晰,保持简洁。1:模块化的首要特质就是封装,不要过多的披露自身的细节,不胡乱共享全局数据,不直接调用其他模块的实现码。2:尽量保持正交性,各个功能独立,互不影响。比如:调节显示器对比度,不会影响亮度,调节色彩,不会影响对比度。(改变属性有且只有一个方法,其他都是调用这个方法)3:重构代码,尽量

2014-07-01 11:00:26 840

原创 原码,反码,补码

有时候在编程的时候,跟踪代码查错,明明传过来的-1,但结果显示的是0xFFFF;其实这就是-1的补码。了解原码,反码,补码对自己编程还是有一定帮助的,之前也只是模糊的了解一点,最近查了一些资料,记录下来,以免自己忘记   原码:因为我们看到的十进制数,存入计算机的时候,都会转化成二进制,计算机只认识二进制码。比如:“3” -> 0x0000 0011;   反码:原码为正数

2014-05-29 10:57:21 1022

原创 手游卡牌 装备,宝物

自己也算比较懒的人,早就知道有博客了,一直没写。   写博客主要是希望,加深对知识的理解,同时又希望可以得到大神的指点,犯错的地方,很容易被大神查出,避免自己在去犯错。   最近一直在忙于卡牌游戏的装备,宝物的开发,这部分不麻烦,但是比较繁琐。不会涉及复杂的算法。大致流程是获取数据,读表,显示。强化,洗练的时候只需要判断是否满足条件,比如:金币,材料。。。读表操作比较多。

2014-05-07 15:44:08 888

原创 信号量,互斥锁实现 生产者-消费者模式

#include#include#include#include#includetypedef struct data{ pthread_mutex_t mutex; sem_t full; sem_t empty; int val[10];}dataPro;void* product(void *d){ sleep(5); dataPro* d

2014-04-16 11:42:29 914

原创 多线程编程之信号量

信号量:是一种睡眠锁,线程视图获得已经被占用的信号量

2014-04-11 16:05:19 676

转载 Error LNK2001 无法解析的外部符号解决办法 .

error lnk2001 真是比较烦人的错误,编译时候没错,就运行时候掉链子以免以后查找不变,直接保留连接,里面介绍的比较全面,遇到类似问题的童鞋可也进去瞅瞅参考:http://blog.csdn.net/shenyulv/article/details/6699836

2014-04-09 17:32:32 2875

原创 多线程编程之自旋锁,读写锁

自旋锁相对于原子锁可以实现更为复杂的功能

2014-04-09 17:23:21 1000

原创 多线程之原子操作

原子操作:执行过程不被打断;(要么不执行,要么执行完成)

2014-04-08 14:36:50 929

原创 多线程编程Peterson算法

void print(void){ for(int i = 0; i   cout   Sleep(1000); }}int flag[2] = {0};int turn = 0;void thread(void *num){ int val = (int)(num); flag[val] = 1; turn = 1; while(flag[1 -

2014-04-04 15:16:33 1690

原创 静态 static 关键字用法

这篇文章有详细介绍:http://blog.csdn.net/hackbuteer1/article/details/7487694static 关键字用到的比较多,单例模式就会用到这个关键字;static只初始化一次的特性,最近用到了很多次,比如:     void func (){     static bool isRefresh = true;       if(i

2014-04-03 15:10:43 557

原创 error LNK2019,error LNK2001:无法解析的外部符号

环境:win7 ,vs2010目的:安装protobuf问题:    test.pb.obj : error LNK2019: 无法解析的外部符号 "public: virtual __thiscall google::protobuf::MessageLite::~MessageLite(void)" (??1MessageLite@protobuf@google@@UAE@XZ),

2013-12-10 13:41:11 4502

Odin - Inspector and Serializer 3.0.6.zip

unity 开发 Odin - Inspector and Serializer 3.0.6, 最新版

2021-08-18

最强unity扩展 odin 3.0.1 最新版

Odin - Inspector and Serializer, 最新版本,扩展unity编辑器和序列化,打开直接导入就可以用了。Odin用法自行搜索~~~~~~

2020-11-23

Behavior Designer trees 1.6.6 目前最新版本

Behavior trees are used by AAA studios to create a lifelike AI. With Opsive's Behavior Designer, you can bring the power of behaviour trees to Unity! Behavior Designer is a behaviour tree implementation designed for everyone - programmers, artists, designers. 行为树插件,可以开发出3A品质的精品游戏,可视化操作。具体能做啥,自行百度啊

2020-11-02

Behavior Designer 1.6.4 适用于unity2017以上版本

Behavior trees are used by AAA studios to create a lifelike AI. With Opsive's Behavior Designer, you can bring the power of behaviour trees to Unity! Behavior Designer is a behaviour tree implementation designed for everyone - programmers, artists, designers. 行为树插件,可以开发出3A品质的精品游戏,可视化操作。具体能做啥,自行百度啊

2020-11-02

2DDL Pro 2D Dynamic Lights and Shadows v1.4.13.zip

2DDL Pro 2D Dynamic Lights and Shadows 最新版。。。 2019亲测 可用,无报错~~要下的趁早,现在csdn,越下越积分越高~~~

2020-09-07

A Pathfinding Project Pro 4.2.15.zip 最新版本 2019亲测

A Pathfinding Project Pro 4.2.15 官方最新版~~~,其他版本要么不是最新版,要么积分要太高了,unity 应用商店价值100$,免费拿走,不写~~~失效的话,可以私聊我

2020-09-04

GuideShader.rar

unity的一个遮罩挖洞案例,可以用于新手引导~~~自己看代码,不解释~~代码很简单,不会看源码的请走开~~~

2020-08-07

DevXUnity-UnpackerTools.zip

自己百度用法,可以解压缩unity打出来的apk包。还可以反向打包~~功能强大,谁用谁知道,亲测可用~~~~

2020-07-28

ShaderForge2018.zip

能搜索这个插件的,应该就知道功能也,我也不过多介绍了,适用于unity2018,轻松编辑shader。没有基础也可以搞出牛逼的效果

2020-07-15

copyRightAuto.zip

现在软著审核越来越严,以前随便弄一下就可以通过了,现在开始审查格式了。本工具基于c#开发,适用与windos平台。copyRightAuto\bin\Release \SourceConvert.exe,选中需要格式化的文件夹就可以了。生成代码了,自动去除注释和空行。

2020-07-15

Curvy Splines v6.0.1.zip

unity3的曲线插件,自己去买的话50美元,这个免费贡献给大家,可以编辑各种路径。自己查询用法,做出各种效果吧~~

2020-05-15

unity_Bezier_path.rar

unity的贝塞尔曲线。路径合集,规划路线 Curvy,你值得拥有~~~~~~~~~~~~~~~~~~

2020-05-15

Visual Studio 2013 Tools for Unity(VSTU 2.3)(unity vs调试工具)

Visual Studio 2013 Tools for Unity(VSTU 2.3) , vs2013官网最新版本2.3,之前在网上下了vstu1.9自己这边用不了。强烈建议去官网下载。之所以上传,是因为,我这边总是下载失败,可能有和我一样的人。(csdn 不能自己设置下载积分了,本来打算免积分的。建议去官网下载。) 补充:unity 2018.2.6(unity不用在导入package了)

2019-08-26

qt tabbar 中文语言包 1038 1039 版本都

qt tabbar 一款轻量级开源的工具,比clover 强很多。clover经常闪退,各种广告,所以不用了。建议到官网下载qt tabbar,然后在下载语言包。亲测可用。软件本身开源下载语言包,可惜下载总是失败,你懂的。

2018-11-16

vimrc.zip,vim配置文件

.vimrc的配置好的文件,设置了高亮,换行,对齐...非常全面,你值得拥有 map <F9> :call SaveInputData()<CR> func! SaveInputData() exec "tabnew" exec 'normal "+gP' exec "w! /tmp/input_data" endfunc "colorscheme torte "colorscheme murphy "colorscheme desert "colorscheme desert "colorscheme elflord "colorscheme ron colorscheme desert call pathogen#infect() "set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "set termencoding=utf-8 "set encoding=utf-8 "set fileencodings=ucs-bom,utf-8,cp936 "set fileencoding=utf-8 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 显示相关 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "set shortmess=atI " 启动的时候不显示那个援助乌干达儿童的提示 "winpos 5 5 " 设定窗口位置 "set lines=40 columns=155 " 设定窗口大小 set go= " 不要图形按钮 "color asmanian2 " 设置背景主题 "set guifont=Courier_New:h10:cANSI " 设置字体 "syntax on " 语法高亮 autocmd InsertLeave * se nocul " 用浅色高亮当前行 autocmd InsertEnter * se cul " 用浅色高亮当前行 "set ruler " 显示标尺 set showcmd " 输入的命令显示出来,看的清楚些 "set cmdheight=1 " 命令行(在状态行下)的高度,设置为1 "set whichwrap+=<,>,h,l " 允许backspace和光标键跨越行边界(不建议) "set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离 set novisualbell " 不要闪烁(不明白) set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容 set laststatus=1 " 启动显示状态行(1),总是显示状态行(2) set foldenable " 允许折叠 set foldmethod=manual " 手动折叠 "set background=dark "背景使用黑色 set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 " 显示中文帮助 if version >= 603 set helplang=cn set encoding=utf-8 endif " 设置配色方案 "colorscheme murphy "字体 "if (has("gui_running")) " set guifont=Bitstream\ Vera\ Sans\ Mono\ 10 "endif """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""新文件标题 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "新建.c,.h,.sh,.java文件,自动插入文件头 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" ""定义函数SetTitle,自动插入文件头 func SetTitle() "如果文件类型为.sh文件 if &filetype == 'sh' call setline(1,"\#########################################################################") call append(line("."), "\# File Name: ".expand("%")) call append(line(".")+1, "\# Author: ma6174") call append(line(".")+2, "\# mail: ma6174@163.com") call append(line(".")+3, "\# Created Time: ".strftime("%c")) call append(line(".")+4, "\#########################################################################") call append(line(".")+5, "\#!/bin/bash") call append(line(".")+6, "") else call setline(1, "/*************************************************************************") call append(line("."), " > File Name: ".expand("%")) call append(line(".")+1, " > Author: ma6174") call append(line(".")+2, " > Mail: ma6174@163.com ") call append(line(".")+3, " > Created Time: ".strftime("%c")) call append(line(".")+4, " ************************************************************************/") call append(line(".")+5, "") endif if &filetype == 'cpp' call append(line(".")+6, "#include<iostream>") call append(line(".")+7, "using namespace std;") call append(line(".")+8, "") endif if &filetype == 'c' call append(line(".")+6, "#include<stdio.h>") call append(line(".")+7, "") endif " if &filetype == 'java' " call append(line(".")+6,"public class ".expand("%")) " call append(line(".")+7,"") " endif "新建文件后,自动定位到文件末尾 autocmd BufNewFile * normal G endfunc """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "键盘命令 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" nmap <leader>w :w!<cr> nmap <leader>f :find<cr> " 映射全选+复制 ctrl+a map <C-A> ggVGY map! <C-A> <Esc>ggVGY map <F12> gg=G " 选中状态下 Ctrl+c 复制 vmap <C-c> "+y "去空行 nnoremap <F2> :g/^\s*$/d<CR> "比较文件 nnoremap <C-F2> :vert diffsplit "新建标签 map <M-F2> :tabnew<CR> "列出当前目录文件 map <F3> :tabnew .<CR> "打开树状文件目录 map <C-F3> \be "C,C++ 按F5编译运行 map <F5> :call CompileRunGcc()<CR> func! CompileRunGcc() exec "w" if &filetype == 'c' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'cpp' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'java' exec "!javac %" exec "!java %<" elseif &filetype == 'sh' :!./% elseif &filetype == 'py' exec "!python %" exec "!python %<" endif endfunc "C,C++的调试 map <F8> :call Rungdb()<CR> func! Rungdb() exec "w" exec "!g++ % -g -o %<" exec "!gdb ./%<" endfunc """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ""实用设置 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 设置当文件被改动时自动载入 set autoread " quickfix模式 autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr> "代码补全 set completeopt=preview,menu "允许插件 filetype plugin on "共享剪贴板 set clipboard+=unnamed "从不备份 set nobackup "make 运行 :set makeprg=g++\ -Wall\ \ % "自动保存 set autowrite set ruler " 打开状态栏标尺 set cursorline " 突出显示当前行 set magic " 设置魔术 set guioptions-=T " 隐藏工具栏 set guioptions-=m " 隐藏菜单栏 "set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ " 设置在状态行显示的信息 set foldcolumn=0 set foldmethod=indent set foldlevel=3 set foldenable " 开始折叠 " 不要使用vi的键盘模式,而是vim自己的 set nocompatible " 语法高亮 set syntax=on " 去掉输入错误的提示声音 set noeb " 在处理未保存或只读文件的时候,弹出确认 set confirm " 自动缩进 set autoindent set cindent " Tab键的宽度 set tabstop=4 " 统一缩进为4 set softtabstop=4 set shiftwidth=4 " 不要用空格代替制表符 set noexpandtab " 在行和段开始处使用制表符 set smarttab " 显示行号 set number " 历史记录数 set history=1000 "禁止生成临时文件 set nobackup set noswapfile "搜索忽略大小写 set ignorecase "搜索逐字符高亮 set hlsearch set incsearch "行内替换 set gdefault "编码设置 set enc=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "语言设置 set langmenu=zh_CN.UTF-8 set helplang=cn " 我的状态行显示的内容(包括文件类型和解码) "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] " 总是显示状态行 set laststatus=2 " 命令行(在状态行下)的高度,默认为1,这里是2 set cmdheight=2 " 侦测文件类型 filetype on " 载入文件类型插件 filetype plugin on " 为特定文件类型载入相关缩进文件 filetype indent on " 保存全局变量 set viminfo+=! " 带有如下符号的单词不要被换行分割 set iskeyword+=_,$,@,%,#,- " 字符间插入的像素行数目 set linespace=0 " 增强模式中的命令行自动完成操作 set wildmenu " 使回格键(backspace)正常处理indent, eol, start等 set backspace=2 " 允许backspace和光标键跨越行边界 set whichwrap+=<,>,h,l " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位) set mouse=a set selection=exclusive set selectmode=mouse,key " 通过使用: commands命令,告诉我们文件的哪一行被改变过 set report=0 " 在被分割的窗口间显示空白,便于阅读 set fillchars=vert:\ ,stl:\ ,stlnc:\ " 高亮显示匹配的括号 set showmatch " 匹配括号高亮的时间(单位是十分之一秒) set matchtime=1 " 光标移动到buffer的顶部和底部时保持3行距离 set scrolloff=3 " 为C程序提供自动缩进 set smartindent " 高亮显示普通txt文件(需要txt.vim脚本) au BufRead,BufNewFile * setfiletype txt "自动补全 :inoremap ( ()<ESC>i :inoremap ) <c-r>=ClosePair(')')<CR> ":inoremap { {<CR>}<ESC>O ":inoremap } <c-r>=ClosePair('}')<CR> :inoremap [ []<ESC>i :inoremap ] <c-r>=ClosePair(']')<CR> :inoremap " ""<ESC>i :inoremap ' ''<ESC>i function! ClosePair(char) if getline('.')[col('.') - 1] == a:char return "\<Right>" else return a:char endif endfunction filetype plugin indent on "打开文件类型检测, 加了这句才可以用智能补全 set completeopt=longest,menu """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" syntax enable "NERDtee设定 let NERDChristmasTree=1 let NERDTreeAutoCenter=1 let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt' let NERDTreeMouseMode=2 let NERDTreeShowBookmarks=1 let NERDTreeShowFiles=1 let NERDTreeShowHidden=1 let NERDTreeShowLineNumbers=1 let NERDTreeWinPos='left' let NERDTreeWinSize=31 nnoremap f :NERDTreeToggle map <F7> :NERDTree<CR>

2014-04-11

taglist_46.zip

用与管理vim 代码,非常方便浏览代码,使用方法可以百度,google下

2014-04-11

pathogen.zip

Vim 能成为一款优秀的编辑器,是离不开各种功能的插件的。默认情况下,Vim 的插件都是散落安装在 $VIM/vimfiles/(~/.vim/ on Linux) 目录下。然而,安装的插件多了之后,其管理就成为一个问题,有时为了删除一个插件,必须在vimfiles目录的子目录里一个个地找,然后一个文件一个文件地删,很麻烦。其实,我们完全可以将各个插件都安装在单独的文件夹下,这样更新和删除插件就变得很容易了。这就要依赖插件管理插件了。 目前,Vim 的插件管理插件主要有三个:pathogen,vim-addon-manager和vundle。个人觉得,在Windows平台下,pathogen最方便好用。下面就简要介绍一下这个插件的使用方法(以Windows平台为例,Unix/Linux平台类似)。 一、pathogen.vim的安装与使用 1、下载 pathogen.vim,将其放到$VIM/vimfiles/autoload目录下。 2、在vimrc文件中添加: call pathogen#infect() 3、在$VIM/vimfiles目录下新建目录bundle,安装的插件就都放到这个目录下(按照原来的目录结构)。例如,安装插件a.vim,它本来是应该放在$VIM/vimfiles/plugin目录下,现在就可以放在$VIM/vimfiles/bundle/<you_name>/plugin 目录下,其中<you_name>可以自己随便取,比如就取为a,这样以后看到此目录,就知道它里面是插件a.vim了。 4、打开Vim就可以使用bundle目录下的插件了。 5、很多插件还带有自己的说明文档(doc目录中),只要执行一下命令 :call pathogen#helptags() pathogen就可以自动为bundle目录下所有的doc目录中的txt文件生成帮助文档标签。

2014-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除