Lua与多线程C程序交互注意事项

背景

最近工作上用到Lua脚本和C/C++程序交互操作,其中某个功能需要C程序异步通知Lua脚本工作状态,然后Lua脚本会在检测点检测到该状态并做相应处理。然后在测试时发现异常退出的bug,于是觉得有必要研究下此方面内容,故写此文。

由于Lua脚本调用的检测点函数也是C程序写的,所以相当于在Lua提供的API下进行C程序的多线程交互,所以直接省去了lua脚本这一层。

Continue reading →
Posted in Lua, 程序设计 | Tagged , , | 17 Comments

邂逅

我从桥上走来,遇到一位姑娘。

天空湛蓝,阳光耀眼,水流徐徐,佳人缓缓。

安之若素,静景若物,唇角轻扬,皓齿明眸。

于是注目,微笑,衣袂交错,擦身而过。

听不到脚步,只有车轮吱呀作响。

2011.06.20
于拉萨

Continue reading →

Posted in 日记 | Tagged , | 19 Comments

Cowon i10入手(附图片)

早些日子和在外求学的妹妹通话,说起我送她那款质量并不是很好MP3,里面保存了她们初中时代好友的录音,现已坏掉,甚为可惜。 想到读高中的她失去平日唯一能用来缓解学习压力的东西,颇觉可怜,于是对她说,哥再给你买个好的罢。搜寻几日,Cowon i10 8G白色款买入。

首先说外观

i10的包装很简洁,只有一个长方形的纸质盒子,里面盛MP3的塑料盒子还可以二次利用,很环保。

Continue reading →
Posted in 日记, 音乐 | Tagged | 29 Comments

CsdnBlogMover(CSDN博客搬家程序)发布

项目背景:

在2011年底的时候忽然有了自己开设独立博客的想法。主要是因为CSDN的博客服务太难用了:广告多、不能匿名评论、不能嵌入flash和音乐、可定制性差。再加上我刚有这些想法的第三天CSDN就爆出了明文密码事件,所以就毅然决然了离开陪伴我6年的CSDN了。我们需要一个更自由更可控的世界。

想把原始的文章评论从CSDN移动主机的wordpress平台上,自然不能用手工来做,作为一个程序员,这种机械的行为是不能容忍的。寻找搬家程序无果,偶然发现有先辈WeiWei写过一个livespace的搬家程序,正好又是GPL发布的,遂以为原型改动。

Continue reading →
Posted in Python, 程序设计 | Tagged , , | 31 Comments

从qsort的局限性闲话gcc对“闭包”运算的支持以及DEP/NX的影响

一、问题的产生:

前几周/月?在CU论坛闲逛时看到OWO同学出了一道C语言题,由于年代久远细节记不得了,以下是自己对关键问题在记忆中改造后的描述:

//有一个enum表示科目,以0开头,以TYPE_END结尾,其余默认
enum subject_type{CHINESE=0, MATH, ENGLISH, TYPE_END};
#define N 100
//有一结构体表示学生信息
strcut student_t
{
	char*	name;
	int	number;
	float	mark[TYPE_END];
} students[N];

问题、使用qsort对不同科目成绩进行排序?如果以后学校开设了更多科目,对于此问题你会怎样解决?

Continue reading →
Posted in C/C++, 程序设计 | Tagged , | 21 Comments

初音ミク タイムマシン「初音未来 时光机」

想试着写出中文歌词的自己,写了近三个小时终不满意,遂明白为何书上的电视上的外文歌曲大都只是写歌词大意。
站台上逞强说不用担心的初音

看不到司空见惯的泪颜的初音

抛下支离琐碎点滴过往的初音

躲进耳机貌似没有悲伤的初音

恍惚梦中流连昨日温暖的初音

渐行渐远窗外独自一人的初音

Continue reading →
Posted in 音乐 | Tagged | 9 Comments

Fedora 16正式发布 & F16下Ibus切换输入法快捷键BUG解决办法

热烈庆贺Fedora 16与美国东部时间20011年11月8日上午10点,也就是中国北京时间2011年11月8日晚上23点整正式发布。

Fedora 16下载页面在这里:http://fedoraproject.org/zh_CN/get-fedora

以下是发行注记概要:

—————————————发行注记概要分割线———————————————————

Continue reading →
Posted in Linux, 软件应用 | Tagged , | 16 Comments

WebBenchPro(一个快速易用的Web性能测试器)版本0.1发布

背景:

最近在做一些web相关工作,就发现了webbench这个性能测试工具,非常简单易用。但是在用的过程中也是不尽如人意,于是萌生了改进的念头。

webbench是基于GPL授权协议的,我自然可以取得源码修改,然后作为webbench_pro这个项目发布。

简介:

WebBenchPro 是由webbench改进而来的一款简单易用的web性能测试工具

Continue reading →
Posted in Linux, 程序设计 | Tagged , | 5 Comments

关于并行计算发展的一些思考

本文是在CU论坛上回答网友的问题《C语言标准有没有规定前一个语句必须在后一个语句之前完成?》而引发的关于并行处理的一些见解和思考,以下正文

难得OwnWaterloo老兄想起了在下,以及最近我也看到了一些并行方面的帖,就浮上水面说说自己的见解吧。
C语言是典型的Von Neumann体系下的编译性语言:”存储程序并顺序执行”。
70年代初的时候C语言发明和Unix的产生是息息相关的,必须要在一起说明的。当是计算机并行运算并不是很普遍,绝大多数的并行是靠多进程完全任务的,线程还没有被广泛提及,CPU也没有乱序执行的概念。这时候进程间的并行就靠操作系统去隔离,这一点当是的Unix做的非常不错,并由于涉及到Unix设计哲学(简单即美)复杂而高效的多线程在Unix类系统上一直没有得到重视,这也是影响了C语言的产生和发展。C语言设计者也认为C语言应该足够小巧灵活(C语言以控制和处理内部(存)数据为优先任务,个人见解),不要引入太多平台差异的东西,于是I/O功能和后来突飞猛进的并行计算自然只能丢到库中或者干脆完全隔离不予考虑。
Continue reading

Posted in 操作系统, 程序设计 | Tagged , | 4 Comments