摘要:
lua的闭包包括CClosure和FClosure两种类型。下面的例子介绍如何在C中使用C创建的闭包函数,C中使用lua中创建的闭包函数,Lua中使用C中创建的闭包函数,Lua中使用Lua闭包就不赘述了。 C中通过lua_pushclosure创建闭包函数,在将闭包函数推到堆栈之前需要先把n个... 阅读全文
摘要:
第一:Lua函数调用的总体流程 在保护性调用的情况下,lua中函数调用的流程如下,非保护性调用的流程更加简单,请追踪lua_call函数int docall (lua_State *L, int narg, int nres) |—— int lua_pcallk (lua_State *L, in... 阅读全文
摘要:
基于 http://www.boost.org/doc/libs/1_59_0/libs/statechart/doc/tutorial.html#AsynchronousStateMachines 的文档说明 git地址和例子在:https://github.com/boostorg/state... 阅读全文
摘要:
Demo备忘,占坑#include #include #include using namespace std;using namespace std::placeholders;const static int T_NUM = 10;bool test_functional(const std::... 阅读全文
摘要:
在ucos下,不仅仅依赖于一个定时器中断作为系统脉搏,很多时候需要添加用户自定义的中断,这里以外部中断为例,拿的是友善的2440的板子做的测试。由于事先对ucos比较陌生,因此整整花费了三天时间才明白其中的调用机制,写下来以作备忘也供大家参考: 1.首先初始化自己的中断,比如使能中断,设置中断优先级等,以一个很简单的例子,通过一个按键出发外部中断0,在外部中断0的处理函数中post一个消息给测试进程,该进程收到消息以后随便打印一行文字。首先初始化寄存器,使能中断,大概代码入下: void CPU_Init(){ //0000 0000 1010 0010 1010 1010 1010... 阅读全文
摘要:
最近翻看linux较早版本的内核,在定时器处理函数do_timer()【linux/kernel/sched.c】中有这么一段代码觉得想不透彻: if (cpl) current->utime++; else current->stime++;其中不解之处就是对cpl的理解。网上普遍的理解是cpl=0为内核态,否则>0表示用户态。但是定时器中断处理函数都是在内核态进行的,赵炯博士的树上是这么解释的,0表示超级任务,即内核态任务,linux的idle任务和任务1即是此类任务,该任务与其他任务的区别就是其代码段和数据段都是在640K的内核区域之内的,>0表示普通任务。至于我 阅读全文
摘要:
拜读《算法导论》至DP和贪心算法处,觉得有必要理一下思路。 书上对DP介绍了几经典的案例,LCS,矩阵连乘与最优二叉搜索都是很经典的应用。DP是一种从下至上的优化算法,其实对于寻优,至上而下的寻优算法从理论上也是可行的,然后之下而上效率比至上而下大大提高,原因是,当我们采用至上而下的递归式时,实际上做了许多重复的运算,递归树对重复问题的运算结果其实只需运算一次,再次用到时只需读取。本人对DP的理解还不够深刻,但是已经能够体会到DP的精髓在于寻找最优子问题,即将当前问题分解成几个子问题合并的结果,并且能够证明:为了取得当前问题的最优解,其子问题也必须是最优的。贪心算法是一种特殊的DP,理论上D. 阅读全文
摘要:
注:本文系转载,用于学习。版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://littlewhitetwo.blogbus.com/logs/40534078.html本文来自:http://blog.chinaunix.net/u/16292/showart_395234.html工作这么长时间,一直在C语言这一层面上钻研和打拼,日积月累,很多关于C的疑惑在书本和资料中都难以找到答案。程序员是追求完美的一个种群,其头脑中哪怕是存在一点点的思维黑洞都会让其坐卧不宁。不久前在itput论坛上偶得《Computer Systems A Programmer's P 阅读全文
摘要:
二叉搜索树中,左子树值大于根节点,右子树值大于根节点,每一层子树都遵守以上规则。二叉搜索能够大大加快搜索速度,常规的搜索只能一个个比较,算法复杂度为n,二叉搜索树由于其结果特点能够将搜索负载度减小为logn。首先定义二叉树的节点数据结构:(本题根据POJ2418:http://poj.org/problem?id=2418)struct Tree{ struct Tree *p; struct Tree *l; struct Tree *r; char name[31]; int num;};首先考虑节点的插入:从根节点开始,如果待插入节点的值大于根节点则向右子树查找,否则向左子树查找,直到. 阅读全文
摘要:
今天看了下MVC的Nerdinner案例,发觉写这种文档的时候作者并没有涉及到如何设计自定义的过滤器,而是着重在建立相互之间的逻辑关系上,于是倍觉不爽,谷哥摆渡之,发现网上有一些不错的关于自定义过滤器的文摘,其中:http://hi.baidu.com/itbase/blog/item/4d2bfbdd62a9b8fa76c63888.html一文介绍了如何重写原有的Authorize,建立自定义的过滤器。让我倍受启发的是Anytao大牛的这篇文章,http://kb.cnblogs.com/page/53772/ .其实所谓的action过滤器也只是一种比较特殊的类罢了,我们可以通过继承重. 阅读全文