- 博客(105)
- 资源 (16)
- 收藏
- 关注
原创 ASolutionToChinaCompetitivePokerUsingDeepLearning读后感
这篇论文引用了腾讯的斗地主的数据,用CNN实现了斗地主自动出牌AI,这里只是将自己的理解做一个笔记,以防以后忘记。上面是该论文的训练网络。输入数据使用的15*19*21的网络结构,下面介绍一下该结构主要的设计思路。15表示斗地主的每张牌,A到K加大小王。19的含义是分两层,前4代表每张牌的张数,分别表示1,2,3,4;后面15层代表牌型结构,具体牌型结构在原论文的Table 3表示。那15...
2018-12-08 19:49:06
1322
3
转载 wireshark 抓包工具
Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析,不过要说明的是,这只是一个工具,用法是非常灵活的,所以今天讲述的内容可能无法直接帮你解决问题,但是只要你有解决问题的思路,学习用这个软件就非常有用了。Wireshark官方下载地址:http://www.wireshark.org/download.html如果记不住,可以在百度中输入Wir就可...
2018-02-08 15:37:49
426
转载 Protobuf API C++
protobuf c++ API1、在.proto文件中定义消息格式2、使用protobuf编译器3、使用c++ api来读写消息 0、为何使用protobuf? 1、原始内存数据结构,可以以二进制方式sent/saved.这种方式需要相同的内存布局和字节序。2、以ad-hoc方式将数据项编码成一个简单字符串----比如,将4个int类型编码成"12:3:-
2018-01-23 16:04:20
839
转载 Protobuf入门
一、Protobuf? 1. 是什么? Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。2. 为什么要用? - 平台无关,语言无关,可扩展; - 提供了友好的动态库,使用简单; - 解析速度快,比对应的XML快约20-100倍; - 序列
2018-01-23 15:27:33
423
原创 vs2012编译lua源码和产生c代码的动态链接库
最近一直在搞lua的源码编译,同时有需求将c代码编写成lua可以调用的动态链接库。尽管网上已经有好多人做过类似的工作了,但是我自己做起来还是感觉很吃力。今天花了一天时间终于搞定了。所以把今天踩的坑记录一下。首先编译lua的动态链接库,也就是传说中的lua.dll。参考文章。我的工程名为lua532。主要是将除了lua.h、lua.c、lualib.h、luac.c以外的所有后缀为.h和.c
2017-12-27 18:09:45
836
转载 获取png和jpg图片的宽和高
#include "stdafx.h"#define MAKEUS(a, b) ((unsigned short) ( ((unsigned short)(a))#define MAKEUI(a,b,c,d) ((unsigned int) ( ((unsigned int)(a)) #define M_DATA 0x00#define M_SOF0 0xc0
2017-12-27 17:34:22
3520
1
转载 梯度下降算法实现
-- y = x^2 - 3*x +2 的梯度下降算法 local Gradient = {}local alpha = 0.25local e = 0.00001local x0, y0function getY(x) return (x*x - 3*x + 2)end-- f(x)的求导function getDerivative(x) return 2*x - 3
2017-11-28 15:06:18
1113
转载 cocos2d-lua class 方法解释
lua中没有类的概念,有的只是表(table),而类之间的继承也就是将父类的表连到了一起,派生类中没有找到的属性和方法就通过元表查找父类,在cocos2d-lua中,封装好的class方法,完美的实现了类的继承,包括单继承,和多继承,class的源码如下(省去了一些不必要的代码):_setmetatableindex = function(t, index) if type(t) ==
2017-11-14 13:36:22
1403
原创 一个lua 与c交互的小demo
#include #include #include "lua.h"#include "lualib.h"#include "lauxlib.h"//待注册的C函数。int add(lua_State* L){double a = luaL_checknumber(L, 1);double b = luaL_checknumber(L, 2);
2016-07-19 12:17:10
1017
转载 如何让EditPlus支持LUA
如何让EditPlus支持LUA这次主要介绍一下学习Lua之前的准备工作。(1) 下载Lua安装包,最新版本是lua-5.1.3. 它的体积很小,只有210Khttp://luaforge.net/frs/?group_id=377这是WINDOWS版本. 附带了编辑器,连环境变量都一次搞定了。(2)安装lua包(3)安装EditPlus编辑器:EditPlus 简单又
2016-07-19 11:29:49
1014
转载 高效调用lua函数
通常调用一个lua函数需要以下步骤//1.解析函数名,将lua函数压栈findLuaItem( "a.b.c.func" );//2.参数压栈lua_push()//3.函数调用lua_call()最慢的是第一步解析函数名、反复查表的过程,这个过程会消耗不少时间和空间。如果可以避开这个过程,就能提升效率。函数总有函数指针,就算lua函数没有,也该有个handler吧。
2016-07-19 11:05:04
1163
转载 __FILE__,__LINE__
注:本文转自蚂蚁跳楼博客园,感谢作者整理 前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用
2016-06-30 13:26:12
373
转载 lua弱表 浅析
Lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们。然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃圾收集器是无法准确的判断是否应该将当前对象清理。这样就极有可能导致很多垃圾对象无法被释放。为了解决这一问题,就需要Lua的开发者予以一定程度上的配合。比如,当某个table对象被存放在容器中,而容器的外部不再有任何变量引用该对象,对于这样的对象,Lua
2016-06-06 16:50:50
716
转载 OpenGL: Configuring GLFW and GLEW in Visual C++ Express
This post shows how to configure Visual C++ Express 2010 with GLFW (version 3.0.1) and GLEW (version 1.9.0)[1].There are many tutorials on the internet that explains how to configureVisual C++ Exp
2016-04-18 16:42:17
1677
转载 我是一个线程
我是一个线程, 我一出生就被编了个号: 0x3704, 然后被领到一个昏暗的屋子里, 这里我发现了很多和我一模一样的同伴。 我身边的同伴0x6900 待的时间比较长, 他带着沧桑的口气对我说:我们线程的宿命就是处理包裹。 把包裹处理完以后还得马上回到这里,否则可能永远回不来了。我一脸懵懂,包裹,什么包裹?”不要着急,马上你就会
2016-04-15 14:55:25
365
原创 使用markdown
欢迎使用Markdown编辑器写博客这里是有一点学习方法。。 你好。。本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: - Markdown和扩展Markdown简洁的语法 - 代码块高亮 - 图片链接和图片上传 - LaTex数学公式 - UML序列图和流程图 - 离线写博客 - 导入导出Markdown文件 - 丰富的快捷键快捷键#in
2016-03-18 17:07:37
381
转载 游戏服务端究竟解决了什么问题?
为了方便查看,直接贴网址:http://www.cnblogs.com/fingerpass/p/game-server-programming-paradigm.html
2016-03-11 18:00:51
1305
转载 如何用git将项目代码上传到github
注册账户以及创建仓库要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。步骤如下: 打开https://github.com 直接在首页上注册点按钮注册成功之后,在页
2016-02-17 18:24:48
85982
18
转载 skynet项目lua代码简单加密
最近在看skynet的代码,总体感觉跟 erlang很像,理念都是基于Actor模型,即万物皆Actor,Actor之间通过发送消息进行通信。(这里说的“万物”倾向于表示有能动作用,有独立行为的个体。)不同的是,skynet使用 c 和 lua实现,这两个语言相较erlang比较流行。skynet的Actor是指skynet服务,skynet服务类似erlang进程,调度方式也
2016-01-29 16:52:47
2778
转载 lua执行字节码的过程介绍
前面一篇文章中介绍了lua给下面代码生成最终的字节码的整个过程,这次我们来看看lua vm执行这些字节码的过程。1 foo = "bar"2 local a, b = "a", "b"3 foo = a生成的字节码如下所示:之前lua是在luaY_parser函数(入口)中完成了lua脚本的解析生成字节码的整个过程的,在生成了main func(过程见“lu
2016-01-29 16:34:03
4399
转载 lua解析赋值类型代码的过程
我们来看看lua vm在解析下面源码并生成bytecode时的整个过程:1 foo = "bar"2 local a, b = "a", "b"3 foo = a首先我们先使用ChunkySpy这个工具来看看vm最终会具体生成什么样的vm instructions在这里,开头为[数字]的行是vm真正生成的字节码,我们看到一共生成了六行字节码。首先loadk将
2016-01-29 16:29:38
989
转载 lua解析脚本过程中的关键数据结构介绍
在这一篇文章中我先来介绍一下lua解析一个脚本文件时要用到的一些关键的数据结构,为将来的一系列代码分析打下一个良好的基础。在整个过程中,比较重要的几个源码文件分别是:llex.h,lparse.h、lobject.h和lopcode.h。在llex.h中 typedef struct Token { int token; SemInfo seminfo; } Toke
2016-01-29 16:23:35
1694
转载 lua解释执行脚本流程
#include "lua.hpp"#include using namespace std;#pragma comment(lib, "lua5.1.lib")struct lua_guard{ lua_State *pL; lua_guard(lua_State *s) :pL(s){} ~lua_guard(){ lua_close(pL); }};
2016-01-29 16:16:34
5568
转载 Lua中实现类的原理
Lua中没有类的概念,但我们可以利用Lua本身的语言特性来实现类。下文将详细的解释在Lua中实现类的原理,涉及到的细节点将拆分出来讲,相信对Lua中实现类的理解有困难的同学将会释疑。类是什么?想要实现类,就要知道类到底是什么。在我看来,类,就是一个自己定义的变量类型。它约定了一些它的属性和方法,是属性和方法的一个集合。所有的方法都需要一个名字,即使是匿名
2016-01-28 18:15:27
1649
转载 gdb 调试
作者: liigo原文链接: http://blog.youkuaiyun.com/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。G
2015-07-30 17:07:51
549
转载 lua动态链接库(luaopen_*函数的使用)
lua中使用c动态库,像luacjson(支持unicode),luasocket,都是以动态链接库的形式在lua中使用的,至于怎么写这些动态链接库很少有教程说到,下面我就说说如何把c文件编译成动态库。首先,假设需要在lua中调用一个在c中实现的求和函数,函数名add(a,b)。我给这个测试库取名为dylib,它包含一个函数add。lua中这样使用: local dy
2015-07-15 16:16:09
9735
1
转载 typedef函数指针的用法(C++)
代码简化, 促进跨平台开发的目的. typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedef int (*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN 是一个函数指针, 函数类型是带
2015-06-12 16:16:09
473
转载 cocos 使用Luajit将Lua脚本编译为bytecode,从而实现加密
项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。下面是使用原生的lua解释器编译字节码:1、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out.lua脚本文件2、开始--运行--cmd3、luac -o out.lua 1.lu
2015-06-04 17:54:48
3345
转载 国内开源的框架(学习用)以及语言对应的图书
风哥的skynet春哥的openresty光头哥的redis分布codis php PHP与MySQL程序设计(第4版) [Beginning PHP and MySQL From Novice to Professional(Fourth Edition)]非常全的电子书网址 :http://vdisk.weibo.com/https://blog.youkuaiyun.com/selfi_xiaowen/...
2015-05-13 12:26:02
901
原创 skynet源代码文件功能简介
最近一直想读skynet 云风大神的服务器程序,但是总是找到这样或者那样的理由。。而且每次开始读的时候,总是找不到接入口。。所以现在准备把阅读过程记录一下,算是备忘吧。。本片是在skynet群里下载的资料。手打出来加深记忆。 Skynet-src文件夹下的代码 rwlock.h有读写锁skynet_erro
2015-05-12 20:04:32
3213
转载 lua调用c函数
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。简单说明一下,该函数类型仅仅包含一个表示Lua环境的指
2015-04-28 16:11:27
679
转载 vs2012编译使用lua 5.2静态库
1.在官方网站下载Lua最新代码http://www.lua.org/download.html2.打开vs2012新建空白工程Test3.在解决方案中添加新的lib工程(WIN32->选择静态LIB 不要预编译头)lualib4.配置lualib工程a) 将lua源代码下的src文件拷入lualib文件夹下,并在工程中导入b) lualib工程属性
2015-04-24 15:37:27
1168
原创 vs 2010 将编译好的lua静态库运用起来
一直在用Lua写程序。但是对lua和c/c++交互的这一部分还是很感兴趣。由于本身不熟悉vs,所以在之前走了好多弯路。在看programming in lua 这本书时,lua与c交互这部分用代码实现看起来还是挺容易的,但是用vs真正用起来还是费了一点时间。下面就记录下来。首先拿到lua 52的源码,将lua编译成为Lua52.dll 和lua52.lib两个文件,一个是静态连接库,一个是动态
2015-04-24 15:28:39
1218
转载 lua 源码网摘
1.lua源码中涉及的数据结构http://blog.youkuaiyun.com/yirancpp/article/details/128691832.Lua源码剖析(lstrlib.c)http://blog.youkuaiyun.com/MaximusZhou/article/details/102252113.lua源码解析http://blog.youkuaiyun.com/ya
2015-03-31 11:54:40
571
原创 lua读文件操作
local table_ = "actor_stage_up";table.getall = function(data)if data == nil then sprint("table.getall data is nil");end if(type(data)=="table")thenlocal num = 0;for k, v in pairs
2015-01-22 16:03:38
1072
转载 用批处理遍历打印文件夹以及删除空文件夹
方法一:for /r D:\要遍历的目录\ %%i (*.exe) do ( echo %%i) 方法二:set DestPath=D:\你的目录\rem 你的后缀set DestExt=*.exe for /f "delims=" %%i in ('dir /b/a-d/s %DestPath%\%De
2015-01-10 20:42:28
3384
原创 让editplus可以支持lua语法高亮
editplus默认是没有sql语法高亮的,原因是它的内部没有lua.stx的这样一个文件我们自己在 C:\Documents and Settings\Administrator\Application Data\EditPlus 3 这样的目录下面新建一个文件名为lua.stx这样一个文件里面的内容是:#TITLE=SQL; SQL syntax file written by
2014-11-22 17:34:22
3666
转载 阅读lua源代码次序
Recommended reading order:lmathlib.c, lstrlib.c: get familiar with the external C API. Don't bother with the pattern matcher though. Just the easy functions.lapi.c: Check how the API is implemente
2014-05-19 18:01:09
759
原创 lua 定时器以及应用
function update_timer_fun()for k,v in pairs(update_timer.m_process_time_fun) dov(k,update_timer.m_porcess_run_time[k]);endend--注册一个新的update定时器 经过over_time时间后销毁 销毁后回调over_fun(手动消耗也会回调over_fun
2014-05-07 14:58:01
14365
微信打飞机
2013-12-25
lua开发包以及lua教程
2013-08-09
Perl CGI模块
2012-12-07
source insight
2012-11-28
PXA_270_LINUX实验基础篇-V4.3-20060707-R
2010-12-08
赫夫曼编码译码系统(VC 6.0)
2010-07-11
ACM 内部预定函数
2010-05-20
c/c++的STL标准模板库
2010-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人