积累日常生活的点滴,开发过程的心得。

发布Sqlite Developer 1.86

主要是增加了Transaction按钮,并且现在可以在SQL Editor中执行多条用Semi Colon分割的SQL了
下载地址
http://www.sharpplus.com/downloads/SqliteDev186.zip

Delphi2006中的Live Template

前一阵子将Delphi程序的开发全部转到了Delphi2006,发现D2006的Live Template的实现非常不错。
下面是激活所有标准的Template的方法
输入
arrayc+TAB
arrayd+TAB
begin+TAB
CTRL+J 然后选择(*
CTRL+J 然后选择{
case+空格
class+TAB
classc+TAB
classd+TAB
createc+CTRL+J
else+TAB
enum+TAB
for+空格
forin+空格
forr+空格
function+TAB
if+空格
ifb+TAB
ife+TAB
ifeb+TAB
var+TAB
procedure+TAB
region+TAB
repeat+空格
try+回车
trye+TAB
tryf+TAB
while+空格
whileb+TAB

而且上面很多模版都支持Surround的功能

发布Sqlite Developer 1.80

修正了Load On Demand的一些错误,重新开启了这一功能
下载地址
http://www.sharpplus.com/downloads/SqliteDev180.zip

发布Sqlite Developer 1.77

真是郁闷,Load Data On Demand功能导致了好多原有功能无法使用,所以我只好临时禁用了这个功能,看来周末要把数据集控件好好地重写一遍了
下载地址
http://www.sharpplus.com/downloads/SqliteDev177.zip

发布Sqlite Developer 1.76

这个版本修正了1.75中好几个严重的Bug

下载地址
http://www.sharpplus.com/downloads/SqliteDev176.zip

发布Sqlite Developer 1.75

这个版本主要是改进了编辑查询大量数据表的性能,
改进了数据导出的功能,现在允许指定导出的字段以及顺序
原来的导出从1.42版开始有问题,这次也顺便进行了修正。
下载地址
http://www.sharpplus.com/downloads/SqliteDev175.zip

今天丢大人了

前一阵子,老婆跑北京奥特莱斯名品折扣店花350给我买了双台湾的名牌鞋,穿了几天之后,我就发现我办公桌下面有些黑乎乎的东西,我当时也没注意,几天跑到一个同事桌边讨论问题,说完事之后,那个同事就跑过来,问我说你鞋怎么老往下掉渣呀,我抬起鞋底一看,粘的鞋底往下掉了快一半了。把我给气晕了,真是丢人。联想到以前在网上就看到过北京奥特莱斯名品折扣店好像经常卖假货,估计这回我是中招了,下回再也不去了。

如何区分关键字和普通标示符号

大部分语言都提供了标示符号的词法规则,而关键字是特殊的标示符号,一个典型的标示符号的词法规则如下 ID : LETTER (LETTER | DIGIT)*; 但是按照上面的词法规则,没办法区分标示符号和关键字,Antlr允许我们创建一个关键字哈希表来解决这个问题。通常来说,当我们在文法中输入用双引号标示的关键字的时候,antlr生成代码时会自动创建相应的关键字哈希表。

发布Sqlite Developer 1.7

这个版本主要修改了Parser,原来的Parser无法解析很多SQL Script,经常在编辑有效表时会报告no such table的错误。
下载地址
http://www.sharpplus.com/downloads/SqliteDev170.zip

VxWorks中信号量常见应用

VxWorks中信号量常见应用

1. 互斥进程

互斥信号量有效的内锁对共享资源的进入。

semMutex = semBCreate (SEM_Q_PRIORITY, SEM_FULL);

SEM_FULL 指明用于任务间互斥. 当一个任务要进入资源,首先要得到一个信号量,只要有任务在使用这个信号量,其它的要进入资源的任务要停止执行,当这个任务完成了对资源的使用,它会释放信号量,允许另一个任务来使用资源。

semTake (semMutex, WAIT_FOREVER);

. . 执行互斥任务

semGive (semMutex);
2. 任务同步

同步内容