会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
独立特行
生活不止眼前的苟且,还有油条和豆浆^_^
博客园
首页
新随笔
管理
上一页
1
2
3
4
5
6
7
8
9
···
11
下一页
2017年11月14日
devtool之CMFCTabCtrl扩展
摘要: 由于开发工具中需要在右侧以tab页形式展示左侧树形控件选中项,所以需要自己来扩展该控件; 效果图如下: 头文件实现: #pragma once#include "resource.h"class CMyTabCtrl : public CMFCTabCtrl{DECLARE_DYNAMIC(CMy...
阅读全文
posted @ 2017-11-14 13:08 Mr.R123
阅读(632)
评论(0)
推荐(0)
2017年11月11日
mfcui源码分析一
摘要: 一直在寻找一款lua作为界面开发语言脚本框架,类似于web开发,使用html做界面, lua作为脚本语言进行行为控制,htmlayout是不二选择,但是其搭配的默认脚本并不是lua,这里找到一个 开源的框架,将htmlayout进行了改造,使其支持lua脚本作为逻辑控制语言; 本系列文章将对mfcui源码进行简要分析,并试图将其改造为自己的界面开发框架,该框架使用的是lua5.1;...
阅读全文
posted @ 2017-11-11 12:45 Mr.R123
阅读(238)
评论(0)
推荐(0)
2017年11月8日
skynet之使用sproto
摘要: sproto的简介略过,这里直接上代码,新建proto.lua文件,内容如下: local sprotoparser = require "sprotoparser"local proto = {}proto.c2s = sprotoparser.parse [[.package {type 0 : integerse...
阅读全文
posted @ 2017-11-08 17:38 Mr.R123
阅读(2006)
评论(0)
推荐(0)
2017年10月31日
lua中的弱表理解
摘要: 为什么要引入弱表? 我们都知道,lua具有自动内存管理,我们只管创建对象,无需删除对象,对于不再需要的对象只需要简单置为nil, lua会自动删除那些被认为是垃圾的数据;问题就在于,什么对象才是垃圾对象呢?有时候,程序员很清楚的知道某个对象 是垃圾,而lua却无法发现; 比如下面的例子: t = {};-- 使用一个table作为t的key值key1 = {na...
阅读全文
posted @ 2017-10-31 16:31 Mr.R123
阅读(3183)
评论(0)
推荐(1)
skynet服务之协程的威力
摘要: 接上一篇分析《skynet服务之launcher》,本篇我们继续来分析一下lua中的协程如何与服务有机结合的,关于lua中协程的解释参见本文《lua中协程的理解》; 上一篇分析到,当一个lua服务收到消息后,在lua层,最终会执行到raw_dispatch_message函数,代码如下: local function raw_dispatch_message(prototype...
阅读全文
posted @ 2017-10-31 15:41 Mr.R123
阅读(1072)
评论(0)
推荐(0)
lua中协程理解
摘要: 最近在研究云风的skynet服务端框架程序,里面服务的回调代码中用到协程,这里仔细研究一下; 一、什么是协程? (1)线程:我们知道C中线程就是一个执行序列,我们在程序中创建多线程时,在单核心CPU状态下,一个时刻其实只有一个线程在执行, 在某个时间片内执行的是那个线程对程序员来说是不确定,程序员可以指定线程的优先级,但是真正的线程调度是由CPU调度来决定的; (2)协程:Lua中的...
阅读全文
posted @ 2017-10-31 10:53 Mr.R123
阅读(520)
评论(0)
推荐(1)
2017年10月29日
skynet服务之launcher
摘要: 本文着重讨论skynet框架中,第一个服务launcher的启动流程,其他服务也是类似的; launcher.lua代码如下: local skynet = require "skynet" local core = require "skynet.core" require "skynet.man...
阅读全文
posted @ 2017-10-29 08:59 Mr.R123
阅读(708)
评论(0)
推荐(0)
2017年10月27日
lua与C交互之全局表registry
摘要: 通常来说,C函数需要保留一些非局部的数据,也就是指那些超过他们作用范围的数据。C语言中我们使用全局变量或者static变量来满足这种需要。然而当你为Lua设计一个程序库的时候,全局变量和static变量不是一个好的方法。首先,不能将所有的Lua值保存到一个C变量中。第二,使用这种变量的库不能在多个Lua状态的情况下使用。 一个替代的解决方案是将这些值保存到一个Lua全局变两种,这种方法解决了...
阅读全文
posted @ 2017-10-27 14:45 Mr.R123
阅读(1529)
评论(0)
推荐(0)
2017年10月26日
skynet服务的本质
摘要: 本文着重讨论skynet框架中,一个服务的启动流程; 本文以一个编写好的service.lua服务作为示例,代码如下: -- 每个服务独立, 都需要引入skynetlocal skynet = require "skynet"require "skynet.manager"-- 引入 skynet.registerlocal ...
阅读全文
posted @ 2017-10-26 17:25 Mr.R123
阅读(541)
评论(0)
推荐(0)
2017年10月20日
test
摘要: 1、./configure --prefix=/usr/curl-7.55 --disable-static --enable-threaded-resolver --enable-smtp --enable-pop3 2、make 3、make install 以上安装版本为:curl-7.55.1 #include "skynet.h"#include "skynet_han...
阅读全文
posted @ 2017-10-20 00:01 Mr.R123
阅读(187)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
11
下一页
公告