TimothyQiu's Blog

keep it simple stupid

Vim 中使用 OmniComplete 为 C/C++ 自动补全

No Comments

OmniComplete 并不是插件的名字,而是 Vim 众多补全方式中的一种(全能补全)。说白了 OmniComplete 其实就是根据光标前的内容猜测光标后的内容,具体怎么猜取决于所采用的脚本。

而 OmniCppComplete 就是专为 C/C++ 编写的 OmniComplete 一个补全脚本。

那么经常和 OmniCppComplete 一起出没的 Ctags 又是什么呢?Ctags 全名 Exuberant Ctags,是一个独立的程序(也就是说,其实和 Vim 一点关系都没有)。它可以为各种语言的源代码生成语言元素(language object)索引文件。对于 C/C++ 来说,就是把源代码中的各种宏、函数、类、类成员等等元素和它们的相关信息生成索引文件,供其它程序使用。

OmniCppComplete 脚本就是根据 Ctags 生成的索引文件进行补全的。

阅读剩余部分...

String as Array Index

2 Comments

标题用中文写觉得比较怪(用字符串作为数组下标),那就写英文吧~

话说前几天人人网 C 语言公共主页发了篇日志,内容是腾讯的面试题:

int a = 3, b = 5;
printf(&a["Hi!Hello"],&b["fun/super"]);
printf("%c%c%c%c",1["wst"],2["www"],0["ddd"],5["ewewrew"]);

这段代码应该输出什么呢?

阅读剩余部分...

盐慌子孙

No Comments

如题,真的好想咆哮下,尼玛这究竟是要怎样一种天真才能相信吃盐能防辐射呀!!!!!!!!!!!!!!!!尼玛学白上啦!!!!!!!!!!!!!!!!有木有!!!!!!!!!!!!!!!!

才听说大家在抢购食盐的时候我脑子一下子转不过弯来,盐和辐射有半毛钱关系么?后来经过提示才发现原来重点在于那东西是“盐”。擦,这是在讲冷笑话么?

悲催的是这真的不是冷笑话。不少城市超市里的盐还真都被抢购一空,更有甚者一买就是几十包(够吃个十几年了吧),淘宝上不少掌柜也纷纷打出“买XX送食盐”的广告,这架势真是让核辐射前线的日本人情何以堪啊~下班地铁上一个大叔给老婆打电话说,“嗯,买了,一包……人那么多……盐都快被买光了。”难道盐商才是策划这场地震的幕后黑手么?

更无厘头的是,食盐被抢购一空以后,超市员工主动推荐顾客转买酱油……于是酱油也很快所剩无几了 ╮(╯▽╰)╭

给老爸老妈发个短信,问有没有去买盐。老爸回答没有,我顿时内牛满面,原来我还没有疯……

Lua 学习笔记:壹

No Comments

Lua 本身是个很简练的语言,作为语言,变量似乎是比不可缺的一员。

Lua 中的变量没有类型,只管赋值即可。比如在 Lua 命令行下输入:

end_of_world = "death"
print(end_of_world)
end_of_world = 2012
print(end_of_world)

上面这四行代码 Lua 不会报错,而会输出:

death
2012

阅读剩余部分...

PDO (SQLite) For WordPress 插件的 Bug 们

2 Comments

注意:根据官网介绍,该插件无法在 WordPress 升级后无法自动更新数据库结构。所以如果使用该插件时升级了 WordPress 并且升级需要修改数据库,那么,虽然博客依旧能够继续显示,但是你会被锁在控制面板外,无法登录。使用该插件期间如果需要升级,请参见 http://smilett.com/?p=588

因为 VPS 内存有限,MySQL 对于我这种懒人来说优化起来又真的是很麻烦,于是在架 WordPress 的时候就用了 SQLite 数据库。于是 PDO (SQLite) For WordPress 插件就成了必需品。

但悲剧的是,这个插件本身是有不少 Bug 的,而这插件也竟然有一年没更新了 ╮(╯▽╰)╭

阅读剩余部分...