在Debian 8上装Xware玩迅雷远程下载

DevLabs Post in 未分类
0

前段时间从朋友那里弄到一台hp的小主机, 做工不错, 挺沉的, 但配置略差, 奔腾E 2160 1.8GHz, 512M内存, 反正朋友又不想要了, 于是便宜了我, 拿回家用来跑Debian8, 装上samba当做文件共享服务器用. 后来发现了迅雷的Xware固件这个东西, 能在很多路由器等设备上运行, 比如openwrt, 树莓派, 群晖了什么的, 之前买的路由器上也有, 但只插了一个4G的卡, 用起来不爽, 既然也有x86平台的固件, 就折腾了一番跑了起来, 然后用它来玩远程下载, 爽歪歪.

总体来说没[......]

全文

字符编解码的故事–ASCII,ANSI,Unicode,Utf-8区别(转)

DevLabs Post in 未分类
1

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们认为8个开关状态作为原子单位很好,于是他们把这称为”字节”。

再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机”。

开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。

他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端设备或者打印机遇上这些约定好的字节[......]

全文

C单元测试框架之Cmockery

DevLabs Post in 未分类
0

Cmockery 是google开源的用于C单元测试的一个轻量级的框架. 它只需要测试程序与标准C库链接,此外, Cmockery尽量避免使用编译器中比较新的一些特性, 以保持对一些旧编译器的兼容性.

Cmockery一共有三个文件, Cmockery.c, Cmockery.h, config.h. 它们最终将和待测模块被编译成一个可独立运行的程序. 在Windows下的话makefile可以无视, 只要将上面三个文件加入到工程再写好对应的测试代码然后编译即可.
在嵌入式环境下我没有做测试, 但应该不[......]

全文

C语言写的俄罗斯方块

DevLabs Post in C语言, MSP430
0

2014年最后一天, 任天堂将风靡全球30年的经典游戏下架. 作为全球最畅销的游戏, 其移植版本遍布各个平台. 下面这个是我去年在51平台上实现的, 使用12864液晶做为显示器, 用矩阵键盘操作. 大家都知道标准51只有几百字节的RAM, 当时我用的那款单片机RAM只有512字节, 使用256字节做为显示缓存, 还剩下256字节, 最后居然也够用.

前段时间兄弟很好奇这个游戏是怎么运作的(他有C语言基础), 想让我给他讲一下, 然后我就整理了一下代码, 将其移植到PC平台, 后来又将其移植到MSP430[......]

全文

编译原理实战之表达式计算器

DevLabs Post in C语言,Tags:
0

 

前言

整理硬盘时翻出之前写的一个简单的表达式计算器, 想想当初为了理解这东西也费了不少功夫, 所以想写一篇笔记, 希望能给当初像我一样的菜鸟一点帮助. 原来只打算写表达式解析计算的方法, 写了一半后发现就光靠那点东西不一定使人看得懂代码, 所以干脆从头开始写起了.

calc

 

考虑有表达式:

12 + 34 – 5

它将做为一个字符串输入计算机, 为了方便处理, 要对它先做词法分析. 词法分析过程就是将输入字符串分解为token(记号)的过程. token是组成词[......]

全文

将一个32位整数圆整到不小于它的2的整数次幂

DevLabs Post in C语言
0

代码来自: http://blog.codingnow.com/cloud/CodeCollection

实现很巧妙, 原理也很简单, 只要展开为二进制, 跟着程序逻辑走一遍就可以看明白了.

 

代码:

 

static inline bool is_pow_of_2(uint32_t x)
{
return !(x & (x-1));
}

static inline uint32_t next_pow_of_2(uint32_t x)
{[......]

全文