- 博客(139)
- 资源 (1)
- 收藏
- 关注
原创 C++正则表达式匹配、分割字符串
#include "stdafx.h"#include #include #include using namespace std;int main(){ std::string s("abcd12_efgh34"); std::regex e("abcd(\\d+)_efgh(\\d+)"); std::smatch sMatchResult;...
2017-11-14 16:32:33
5576
原创 Lua闭包
Lua中的闭包函数,如果想在外面调用,必须在闭包的母函数执行后才能正常调用,否则改函数引用为空[code="Lua"]_G.UIFather = {}function UIFather:New(prefab) local t = { ["prefab"] = prefab } setmetatable(t, self) self.__index =...
2017-10-13 20:18:18
222
原创 (转)lua元表
本文简译自一篇老外的博客,写得不错可惜我翻译的太烂,简译如下。(key--value常见翻译为“键值对”,我翻译为索引、值)在这篇教程里我会介绍Lua中一个重要的概念: metatable(元表),掌握元表可以让你更有效的使用Lua。 每一个tabel都可以附加元表, 元表是带有索引集合的表,它可以改变被附加表的行为。看下例:t = {} -- 普通表 ...
2017-10-11 10:17:50
229
原创 Lua元方法
__add(a, b) --加法__sub(a, b) --减法__mul(a, b) --乘法__div(a, b) --除法__mod(a, b) --取模__pow(a, b) --乘幂__unm(a) --相反数__concat(a, b) --连接__len(a) --长度__eq(a, b) --相等__lt(a, b) --小于__le(a...
2017-05-11 11:32:38
221
原创 (转)mac os下sed来进行文件内容的替换操作
在mac osx lion中sed来进行文件内容的替换操作,使用命令为:[code="os"]sed -i 's/oldstring/newstring/g' full-path-file[/code]执行后提示出错,错误信息为:“sed: 1: command a expects \ followed by text”,但是相同的命令拿到centos下确能执行成功。 使用man查看命...
2016-10-14 11:26:29
2657
原创 (转)Lua查找表元素过程(元表、__index方法是如何工作的)
近日开始频繁使用Lua,于是把这块东西理了一下,特此记录。Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制来模拟了类似“类”的行为举例说明:[code="lua"]tempTable = {} print(tempTable.memberA...
2016-04-08 13:45:51
169
原创 (转)VC6.0同时打开两个工程方法
Win7系统:在Win7操作系统下,如果是以Administrator登陆,则VC6.0打开工程文件的时候,不能同时打开多个工程文件,后打开的工程会将前一个工程close掉,这样,VC6.0只能出现一个进程。在xp下,我们可以设置文件打开的默认方式中去掉DDE选项,这样可以使得VC6可以同时打开多个工程,但在win7下,却没有办法找到这个设置窗口。经过实践,可以用以下办法解决:打开cmd:...
2015-07-27 16:09:45
284
原创 Android monkey跟monkeyrunner研究
最近研究了Android自带的测试工具monkey 跟 monkeyrunner。monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了。而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵...
2015-06-03 10:51:05
139
原创 (转)关于lua数字for循环的实现
看以下代码:[code="lua"]for i=1,2 do print(i) i=3 end [/code]输出是什么?如果习惯了C/C++语言,会觉得因为改变了控制变量i为3,所以在执行第二次循环体之前判断不通过,所以输出是1。但结果输出是1和2,即虽然改变了i,但循环还是执行了2次。这是为什么呢?看了lua的源代码,发现在语法分析阶...
2015-04-20 17:11:55
232
原创 C语言字节对齐示例
#include "stdafx.h"struct MyStruct1{};struct MyStruct2{ char a;};#pragma pack(2)struct MyStruct3{};struct MyStruct4{ char a;};#pragma pack()struct...
2014-09-23 16:44:39
130
原创 (转)C语言字节对齐
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数...
2014-09-23 16:16:29
119
原创 (转)Visual Studio + VA 常用快捷键
下面的方法,是我平时工作的时候用得比较多的快捷键,是以vs2008 + VA插件 为主,不过其它版本也是差不多的。快捷键习惯设置:Tools->Options->Keyboard:Apply the following additional keyboard mapping scheme选择Visual C++ 6VA加快捷键:先为VA设置一下我自己个人比较喜欢的快捷键...
2014-06-17 14:46:14
157
原创 游戏控制器介绍及代码集成
在iOS7中,苹果加强了对游戏开发的支持,其中一个功能就是增加了Game Controller Framework (GameController.framework)可以让你在程序中发现游戏控制器硬件并进行配置。通过Game Controller Framework可以通过无线或者蓝牙连接iOS设备。当控制器可用的时候,该Framework会通知应用程序。Game Controller Fr...
2014-05-24 16:30:56
596
原创 C++ stl中remove的实现
原文:http://www.cplusplus.com/reference/algorithm/remove/c++98中的实现:template ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val){ ForwardIterator result = ...
2013-09-24 23:14:05
320
原创 (转)c++ explicit构造函数
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:[code="c++"]class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“he...
2013-09-11 18:51:31
128
原创 chmob命令
今天使用tolua++编译一个build.xml文件时,提示error=13, Permission denied,网上看了下说是需要修改文件的属性,然后使用[code="java"]sudo chmod 755 tolua++.exe [/code]修改了文件属性后,就可以正常使用了...
2013-07-31 11:01:13
220
原创 (转)Mac OS X下配置SVN
安装XCode后Mac OS X 系统已经内置了svn支持,所以需要做的就只是配置。1.建立想要保存软件仓库的目录。 sudo su (然后输入密码)mkdir /optmkdir /opt/svnmkdir /opt/svn/repos即创建了目录/opt/svn/repos/2.创建版本仓库 svnadmin create /opt/svn/repos...
2013-07-29 16:44:11
142
原创 (转)lua中的require机制
lua中的require机制 为了方便代码管理,通常会把lua代码分成不同的模块,然后在通过require函数把它们加载进来。现在看看lua的require的处理流程。1、require机制相关的数据和函数 package.path:保存加载外部模块(lua中"模块"和"文件"这两个概念的分界比较含糊,因为这个值在不同的时刻会扮演不同的角色)的搜索 路径,这种路...
2013-07-27 17:02:21
338
原创 (转)string替换所有指定字符串(C++)
C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事。首先明白一个概念,即string替换所有字符串,将"12212"这个字符串的所有"12"都替换成"21",结果是什么?可以是22211,也可以是21221,有时候应用的场景不同,就会希望得到不同的结果,所以这两种答案都做了实现,代码...
2013-07-27 17:01:07
1064
1
原创 (转)lua中的xpcal功能l
当错误发生的时候,我们常常希望了解详细的信息,而不仅是错误发生的位置。若能了解到“错误发生时的栈信息”就好了,但pcall返回错误信息时,已经释放了保存错误发生情况的栈信息。因此,若想得到tracebacks,我们必须在pcall返回以前获取。Lua提供了xpcall来实现这个功能,xpcall接受两个参数:调用函数、错误处理函数。当错误发生时,Lua会在栈释放以前调用错误处理函数,因此可以使用d...
2013-07-25 17:43:15
399
原创 (转载)如何在Android.mk里面添加大量的源文件
Android NDK的例子中,每个需要编译的c/c++文件都是清晰的列在Android.mk文件中LOCAL_SRC_FILES变量后面的,如果文件很多,这样就不好办了。我们可以使用通配符来解决大量的源文件添加到Android.mk的问题:第1行是使用GNU Make函数wildcard来查找所有目录下面的文件,这里查找的是"当前项目路径/foo"目录下面的所有的“.c”文件,...
2013-07-18 14:23:41
143
原创 (转)unix命令
[size=medium]1、man 42、ls 相当于DOS 的dir 43、clear 相当于DOS 的cls,清除屏幕上的内容 54、mkdir 相当于DOS 的md,新建一个目录 55、cd 56、rm 57、cp 58、mv 69、pwd 列出当前所在的目录位置 610、more 查看文件的内容 611、chmod 改变文件或目录...
2013-07-10 17:36:57
298
原创 (转)chmod 命令
chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。1. 文字设定法语法:chmod [who] [+ | - | =] [mode] 文件名命令中各选项的含义为:操作对象who可是下述字母中的任一个或者它们的组合: u 表示“用户(us...
2013-07-09 15:31:05
126
原创 (转) Mac系统安装Lua
以下安装的前提是你已经安装了make命令,这些命令行可以在xcode下进行更新下载 1. 下载最新版的lua-5.2.0 请点击,然后解压 2. 运行“终端”进入到该文件夹下 ,主要是cd 【文件夹名】 3.在“终端”输入 make macosx (回车) 4.在“终端”输入 make test (回车)正常情况下...
2013-05-27 14:10:26
147
原创 (转) 关于lua table是否为空的判断
在项目的脚本lua中经常有这样的需求,1、local a = {}2、对a进行处理3、对a是否为空表进行判断关于对a是否为空表的判断,我发现有些代码如此做:if a == {} then这样的结果就是a == {}永远返回false,是一个逻辑错误。因为这里比较的是table a和一个匿名table的内存地址。也有些代码如此做:if ...
2013-05-14 15:57:27
125
原创 Step By Step(Lua模块与包)
从Lua 5.1开始,我们可以使用require和module函数来获取和创建Lua中的模块。从使用者的角度来看,一个模块就是一个程序库,可以通过require来加载,之后便得到一个类型为table的全局变量。此时的table就像名字空间一样,可以访问其中的函数和常量,如:[code="lua"] require "mod" mod.foo() local m2 = require...
2013-05-11 15:52:57
156
原创 lua math库
[img]http://s6.sinaimg.cn/middle/a53e5dafhc04c3af7f2c5&690[/img]函数名 描述 示例 结果pi 圆周率 math.pi 3.1415926535898abs 取绝对值 math.abs(-2012) 2012ceil 向上取整 math.ceil(9.1) 10floor 向下取整 math.floor(9....
2013-05-09 19:51:10
108
原创 Lua学习笔记二
1: 无状态的迭代器 a = {"one", "two", "three"} for i, v in ipairs(a) do print(i, v) end2: loadstring 总 是在全局环境中编译他的串。 local i = 0 f = loadstring("i = i + 1") g = function () i = i + 1...
2013-04-18 16:49:20
101
原创 Lua学习笔记(一)
1: 字符串转化为数字类型, tonumber 数字类型转化为字符串, tostring .. 为字符串连接运算符 print (0 .. 1) --> 01 print (10 .. "" == "10") 等价于 print (tostirng(10) == "10")2: C 语言中的三元运算符 a?b:c 在 Lua 中可以这样实现: (a...
2013-04-16 11:50:37
127
原创 (转)mac系统如何显示和隐藏文件
苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令。显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏Mac隐藏文件的命令:defaults write com.apple....
2013-04-12 13:23:20
130
原创 (转) iphone应用中的动画效果之loading效果和界面切换效果
在应用开发中总要用到加载数据时候的loading动画效果 以下为一个loading效果实例,可以直接拿去用的:在你的xxxController 头文件中声明: UIView *colorView;UIActivityIndicatorView *aciv;初始化中定义: aciv = [[UIActivityIndicatorView alloc] initWithActi...
2013-04-09 16:29:07
222
原创 Happy new Year!
2013 is coming , Happy new Year!For c c++ java oc vb Programmer.
2013-02-06 15:15:15
144
原创 (转)Bundle versions string, short VS. Bundle version
原文:http://blog.csdn.net/lvziru/article/details/8013387Bundle version is the internal version number of your app.Short version string is the publically visible version of your app.So for ex...
2013-01-25 18:36:01
134
原创 (转)svn服务器IP修改后,本地怎么跟新svn同步,svn relocate 操作
1.进入工作复本cd ~/test2.查看仓库地址(URL)svn info [code="java"]路径: .URL: svn://192.168.1.16/web/www.kukaka.org版本库根: svn://192.168.1.16/web/www.kukaka.org版本库 UUID: da5e29f9-32f2-4640-9856-...
2013-01-14 09:56:33
295
原创 (转)Android Layout 之 RelativeLayout,代码实现相对布局
[size=small]使用 AbsoluteLayout 可以直接指定其子 View 的绝对位置, 这种布局方式虽然简单,但是不够灵活。比如在一个程序中,按钮2 位于 按钮1 的下方且和 按钮1 左对齐,我们可以使用指定两个按钮的绝对位置的方式布局,但是当布局完成后,由于某些原因,这两个按钮需要相左平移一些距离以便在父 View 右边留出一些空白区域,那么我们就需要同时修改 按钮1 和 按钮2 ...
2012-12-11 15:37:21
144
原创 (转)LayoutInflater作用及使用
备注:LayoutInflater主要用于对于不再一个layerout里面的空间添加到当前的界面中去作用: 1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方法来获得其中的界面元素. 方法: Android里面想要创建...
2012-11-28 11:06:56
118
原创 jni文件传递方法参数
使用jni从java传递多个参数到c++时,如果是多个参数,当是string类型时,参数之间用;分割[code="c++"] void sendToAndoridAdmobId(const char* id) { JniMethodInfo methodInfo; if (!JniHelper::getStaticMethodInfo(...
2012-11-26 17:43:56
231
原创 NSString字符串相加连接的三种方法
[code="oc"]NSString* string; // 结果字符串NSString* string1, string2; //已存在的字符串,需要将string1和string2连接起来//方法1.string = [NSString initWithFormat:@"%@,%@", string1, string2 ]; //方法2.string = [str...
2012-10-30 16:33:38
186
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人