-------提问的第九波----->为什么brk不能扩展heap?还有.rm问题。

sourceid 2008-12-09 05:00:03
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的长度怎么定的?

...全文
44 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧