1.为什么brk不能扩展heap?
运行环境: 2.6内核 Fedora Core 4 图形界面
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
int
main(int argc, char **argv)
{
char cmd[32];
if (brk((void *)0x8080000) == -1) {
perror("brk error");
exit(1);
}
sprintf(cmd, "cat /proc/self/maps");
system(cmd);
return 0;
}
这代码片是从ULK3ch20.1.4摘录,brk没有能扩展heap,从运行结果可看出.
[root@localhost miscp]# ulimit -s unlimited; ./flex_layout_test
00361000-0037b000 r-xp 00000000 fd:00 4154483 /lib/ld-2.3.5.so
0037b000-0037c000 r--p 00019000 fd:00 4154483 /lib/ld-2.3.5.so
0037c000-0037d000 rw-p 0001a000 fd:00 4154483 /lib/ld-2.3.5.so
0037f000-004a3000 r-xp 00000000 fd:00 4154484 /lib/libc-2.3.5.so
004a3000-004a5000 r--p 00124000 fd:00 4154484 /lib/libc-2.3.5.so
004a5000-004a7000 rw-p 00126000 fd:00 4154484 /lib/libc-2.3.5.so
004a7000-004a9000 rw-p 004a7000 00:00 0
08048000-0804d000 r-xp 00000000 fd:00 7750879 /bin/cat
0804d000-0804e000 rw-p 00004000 fd:00 7750879 /bin/cat
0804e000-0806f000 rw-p 0804e000 00:00 0 [heap]
40000000-40001000 rw-p 40000000 00:00 0
40017000-40018000 rw-p 40017000 00:00 0
40018000-40218000 r--p 00000000 fd:00 7263264 /usr/lib/locale/locale-archive
bfec9000-bfedf000 rw-p bfec9000 00:00 0 [stack]
ffffe000-fffff000 ---p 00000000 00:00 0 [vdso]
selinux已被设置为permissive.
如果其它版本的GNU/Linux能扩展的话,请告之.
2.Real公司好像没有公开它的.rm文件格式,我不想用它的二进制文件来剪辑.rm
文件.想了解.rm文件的播放时间位置,还有key frame的长度怎么定的?