Apr 14, 2010
如果您是第一次读我的文章,你可能想订阅到我的 RSS feed. 多谢您的光顾!神州大地,
万人蜗居,亿人盼房。
望北京上海,高楼大厦。
售楼中心,房奴滔滔。
祖孙三代,倾尽所有,欲与房价试比高。
须钞票,
清储蓄贷款,分外心焦。
楼价如此虚高,
逼无数白领竞折腰。
昔秦皇汉武,闻所未闻;
唐宗宋祖,紧捏钱包。
一代天骄,成吉思汗,只好蜗居蒙古包。
俱往矣,
数天价楼盘,还看今朝!
If you enjoyed this post, make sure you subscribe to my RSS feed!
Apr 7, 2010
1. 查看寄存器
(gdb) i r
(gdb) i r a # 查看所有寄存器(包括浮点、多媒体)
(gdb) i r esp
(gdb) i r pc
2. 查看内存
(gdb) x /wx 0×80040000 # 以16进制显示指定地址处的数据
(gdb) x /8x $esp
(gdb) x /16x $esp+12
(gdb) x /16s 0×86468700 # 以字符串形式显示指定地址处的数据
(gdb) x /24i 0×8048a51 # 以指令形式显示指定地址处的数据(24条)
3. 修改寄存器的值
(gdb) set $v0 = 0×004000000
(gdb) set $epc = 0xbfc00000
4. 修改内存的值
(gdb) set {unsigned [...]
Apr 7, 2010
宏中”#”和”##”的用法
一、一般用法
我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.
用法:
#i nclude
#i nclude
using namespace std;
#define STR(s) #s
#define CONS(a,b) int(a##e##b)
int main()
{
printf(STR(vck)); // 输出字符串”vck”
printf(”%d\n”, CONS(2,3)); // 2e3 输出:2000
return 0;
}
二、当宏参数是另一个宏的时候
需要注意的是凡宏定义里有用’#’或’##’的地方宏参数是不会再展开.
1, 非’#’和’##’的情况
#define TOW (2)
#define MUL(a,b) (a*b)
printf(”%d*%d=%d\n”, [...]
Apr 7, 2010
*41.1* 简介 *vim-script-intro* *script*你最初接触到 Vim 脚本是在 vimrc 文件里。当 Vim 启动时它将读取该文件的内容并执行其中的命令。你可以在其中设置选项。你也可以在其中使用任何冒号命令 (以 “:” 开头的命令;这些命令有时也被称作 Ex 命令或命令行命令)。 语法文件其实也是 Vim 脚本。专为某种文件类型设定选项的文件也是。一个很复杂的宏可以被单独的定义在一个 Vim 脚本文件中。你可以自己想到其它的应用。让我们从一个简单的例子开始: :let i = 1 :while i < 5 : echo “count is” i : let i += 1 :endwhile 备注: 那些 “:” 字符并非必须。只有在你键入命令时才需要,在编写 Vim 脚本时可以 去掉。在这里用一是为了清楚,二是为了区别于普通模式命令。 备注: 你可以拷贝这里的示例文本,然后用 :@” 执行。本例的输出是: count is 1 count is [...]