主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 在上一节<Lua和C++交互 学习记录之八:注册C++类为Lua模块>里介绍了在Lua中以模块的方式使用C++注册的类. 下面将其修改为熟悉的面向对象调用方式. 1.Lua中面向对象的方式 ①在Lua中使用student_obj:get_age()其实相当于student_obj.get_age(s…
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.C++中学生Student类 ①头文件Student.h #pragma once #include <iostream> #include <string> class Student { public: //构造/析构函数 Student(); ~Student(); //get…
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.将C++封装为模块 ①在Lua中调用的函数(和上一节的函数一样) int average(lua_State* L){ //stack_dump(L); //lua->stack,得到Lua调用函数输入的个数 int lua_args_count = lua_gettop(L); //lua->…
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.C++调用Lua中函数 ①Lua中的函数 function add(x,y) return x + y end ②C++调用函数 //lua->stack,全局函数位置-1 lua_getglobal(L, "add"); //c->stack,传入函数参数 lua_push…
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.数组 ①数组是key值从1开始并连续递增的table. ②索引号是从1开始,不是从0开始. 2.既然是table,那当然是可以用上一节的内容进行读写的. lua还提供了一些只针对数组进行操作的API,如下: ①LUALIB_API lua_Integer (luaL_len) (lua_State *L,…
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.C++读取Lua中的table ①在hello.lua中设置一个全局table: global_c_read_table = {integer_val = ,double_val = 2.34,string_val = "test_string"} ②在C++中读取 //lua->…
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.C++读取lua中的值 ①在hello.lua中设置一个全局变量: global_c_read_val = "test val" ②在C++里读取 //lua->stack lua_getglobal(L, "global_c_read_val"); //sta…
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.理解栈 ①C++通过lua虚拟机中的栈和lua进行交互.(相当于一个中间层) ②C++自己管理内存:lua自动垃圾回收:虚拟机知道在栈里的数据是否有被外部宿主程序使用,从而决定是否进行GC; ③C++的是静态类型:lua是动态类型:通过对静态类型的结构封装类似“Lua_Value”的类型,就能将数据放到栈中…
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.首先需要编译出lua库 ①创建一个静态库工程,将lua-5.3.3里的所有文件包含到工程里面去 ②进行编译就可以得到一个lua的静态库,提供给后面的测试项目使用 2.创建学习测试console项目 ①引入上面步骤生成的lua静态库 ②包含lua的所有头文件 ③创建一个hello.lua,里面的内容只有一句…
一.ContentProvider简介        当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据:采用sharedpreferences共享数据,需要使用sharedpreferencesAPI读写数据.而使用ContentProvider共享数据的好处是统一了数据访问方式. 二.Uri类简介  …
一.servlet功能代码: public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        String value=request.getParameter("oper");        if("add".equals(value)){            /…
0911--https://www.cnblogs.com/fnng/archive/2013/05/08/3066054.html 魔法方法.属性 准备工作 为了确保是新型类,应该把_metaclass = type加入到模块的最开始 class NewType(Object): more_code_here class OldType: more_code_here 在这两个类中NewType是新类,OldType是属于旧类,如果前面嘉善 构造方法 构造方法与其他方法不一样,当一个对象被创建…
这个图是总体的框架图,主要是两个接口Collection和Map都继承接口Iterator(Iterable),为了实现可以使用迭代器.Collection和Map类似平级关系. 1.这里我先学习下ArrayList和LinkedList: ArrayList先从源码的注释看起,讲述ArrayList的特性: >允许添加的元素为NULL >size.get.set.isEmpty.iterator.listIterator操作都是常量时间,add是均摊时间,其他的操作都是线性时间,但是常数因子…
android中数据库操作是非常常见了,我们会经常用到,操作的方法也有很多种形式,这里我就把最常见的两种形式记录下来了,以备以后用到方便查看.我就不写注释和解释了,因为android数据库的操作和其它数据库操作本质上都是一样的,大同小异.需要的一些基本解释都在代码中,直接上代码了. 简单的代码文件目录: 首先这个类是数据库帮助类,DBHelper.java,代码如下: package net.loonggg.db; import android.content.Context; import a…
Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. 数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流.数据写入程序可以是一段.一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流.对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后…
Intent(意图)主要是解决Android应用的各项组件之间的通讯. Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用. 因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦. 例如,在一个联系人维护的应用中,当我们在一个联系人列表屏幕(假设对应的Activity为listActivity)上,点击某个…
xml文件是非常常用的,在android中json和xml是非常常用的两种封装数据的形式,从服务器中获取数据也经常是这两种形式的,所以学会生成和解析xml和json是非常有用的,json相对来说是比较简单的,咱不做介绍了,这里给大家讲一下xml的序列化生成和解析.不废话了,先上图,看怎么生成图中的xml数据. 首先,我把Person的实体类给大家贴出来,这个非常简单,我就不过多解释了,直接看代码就行了. Person.java,代码如下: package net.loonggg.test; pu…
在where语句中,我们需要制定各种条件,条件的各种组合需要用到不同的关键字 一.单条件 如:select * from ticket where name='测试' 二.多条件 1.和(and) 如:select * from ticket name=’测试' and area=’北京' 2.或(or) 如:select * from ticket name=’测试' or area=’北京' 三.模糊匹配(like) 1.模糊匹配0个或一个字符(%) 如: select * from tic…
前言 在看了uwa之前发布的<Unity项目常见Lua解决方案性能比较>,决定动手写一篇关于lua+unity方案的性能优化文. 整合lua是目前最强大的unity热更新方案,毕竟这是唯一可以支持ios热更新的办法.然而作为一个重度ulua用户,我们踩过了很多的坑才将ulua上升到一个可以在项目中大规模使用的状态.事实上即使到现在lua+unity的方案仍不能轻易的说可以肆意使用,要用好,你需要知道很多. 因此,这篇文章是从一堆简单的优化建议里头,逐步挖掘出背后的原因.只有理解了原因,才能很清…
在上一篇文章[MVC+Ext.net零基础学习记录(三)]中提到了利用MVC的Area可以做到项目分离,但是实际操作起来还是有很多问题的.比如,对于物理资源的访问,会报:没有相关资源 开始的时候,我在博客园也搜索到了很多解决方案,其中http://www.cnblogs.com/dingji/archive/2012/06/10/2544255.html这篇文章的解决方法是我感觉最有效的解决方法 但是我思考了很久,还是决定不采用MvcContrib进行分离,因为这样的话,一个问题是,DLL文件到…
这几天跟着另一个前端在做一个小游戏,使用的是egret引擎和puremvc框架,这对于我来说还是个比较大的突破吧,特此记录下. 因为在此项目中真是的用到了mvc及面向对象编程,值得学习 记录第一次在egret项目中使用Puremvc: 主开发说他在使用puremvc框架时对puremvc框架的使用进行了一些改良 程序中整个puremvc框架的使用思路: 1. View层自己来操作自己,Mediator用来接收和处理通知,在整个框架中任何地方都可以发布全局通知(通过facade单例的 sendNo…
1. 使用静态工厂方法创建Bean,用到一个工厂类 例子:一个Car类,有brand和price属性. package com.guigu.spring.factory; public class Car { private String brand; private double price; public Car(){ } public Car(String brand,double price){ this.brand=brand; this.price=price; } public S…
转自:http://cn.cocos2d-x.org/tutorial/show?id=1474 一.Lua堆栈 要理解Lua和C++交互,首先要理解Lua堆栈. 简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈.栈的特点是先进后出. 在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶.如图: lua的栈类似于以下的定义, 它是在创建lua_State的时候创建的: TValue stac…
原文请看:Lua和C++交互详细总结 转自:http://cn.cocos2d-x.org/tutorial/show?id=1474 一.Lua堆栈 要理解Lua和C++交互,首先要理解Lua堆栈. 简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈.栈的特点是先进后出. 在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶.如图: lua的栈类似于以下的定义, 它是在创建lua_State…
转载请标明出处:http://blog.csdn.net/shensky711/article/details/52458051 本文出自: [HansChen的博客] Lua栈 要理解Lua和C++交互,首先要理解Lua堆栈.简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈.栈的特点是先进后出. 在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶,如图: 入栈的数据类型包括数值, 字符串…
我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(十一) 视图 我的MYSQL学习心得(十二) 触发器 我的MY…
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参考. 如果你的应用需要为处于另一个应用的上下文中的用户快速完成内容接收,则可以考虑使用“共享”合约. 应用可以通过两种方式支持“共享”功能. 首先,应用可以是提供用户要共享的内容的源应用. 其次,应用可以是用户选择作为共享内容目标的目标应用. 一个应用也可以既是源应用,也是目标应用. 如果你希望你的…
UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以及支持扩展体验(包括鼠标滚轮和按钮.笔橡皮擦.筒状按钮.触摸键盘和后台应用服务)的各种模式或修饰符. 具体各种输入的详细处理方法,以后用到的时候再深入. 通用 Windows 平台 (UWP) 应用也支持很多种设备,了解支持的设备将帮助你提供每个外形规格的最佳用户体验. 针对特定设备进行设计时,主要…
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象,例如椭圆.矩形.直线.贝塞尔曲线等,Path 是最通用的 Shape,因为使用它可以定义任意几何图形.图形这块,是和wpf一样的. 2.布局控件 布局控件这块,大体上也是和wpf一样的.布局控件包含边框(Border).画布(Canvas).网格(Grid).RelativePanel.Stack…
UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日历日期选取器是一个下拉式控件,该控件已针对从日历视图中选取某个日期进行了优化,尤其是能够显示诸如星期几或丰富的日历信息等上下文信息. 可以修改日历以提供其他上下文或限制可用日期. 日历视图让用户查看可按月份.年份或十年期浏览的日历,并与之交互. 用户可选择单个日期或一组日期. 它没有选取器图面,并且…