p2p@p2p
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“呵呵,没有考虑那个ascii的个数多少,直接给赋了个512足够大的值。 可以根据需要具体来定那个数组的大小。 【 在 huangzz 的大作中提到: 】 : 谢了 : 但是为什么是512呢 : 127不就够了吗”
“ok,这个是揣测lz的意思改出来的结果。。。 #include<stdio.h> #include<stdlib.h> main() { char a[50]; int b[512]={0}; int i,j,k,ch; printf("gsdgfd :"); for(i=1;a[i-1]!='#';i++) scan…”
“for(i=0;a[i]!='#';i++)//这一步永远不会退出的吧 scanf("%c",a[i]); // scanf 的第二个参数应该为 &(a[i]) 或者 (a+i) 如果我没猜错,你的意思是遇到 用户输入#就结束读取是吧。 如果是这样的话,这个for循环就有问题了。经过i++,a[i]实际指向的是一个0,…”
“哦,这样啊,看样子是要看内存管理的部分了。。。能再问一下原文中第2个问题,就是我在execl新程序之后,在子进程中不需要free(var)吗,是不是那个新程序覆盖了子进程的所有空间? 内存这东东太神秘了。。。。。 【 在 jmpesp 的大作中提到: 】 : 你再理解下 虚拟地址 跟 MMU 的关系,就应该略知一二了”
“首先,先谢谢你回答哈~~ 是有这个技术阿,cow技术说“ 如果父子进程中任一格式图修改这些区域, 则内核只为修改区域的那块内存做一个副本。” 根据这句话,我在代码中对堆栈内容进行了修改(自增1),所以内核应该为堆开一个副本的。。 【 在 jmpesp 的大作中提到: 】 : copy on write”
“用valgrind测一下,一般都会有提示哪里有可能泄露的~~ 再具体的就只能靠自己对整个代码的掌握了,靠感觉。不过一般都是异常情况或者出错时的处理会出现泄露。。之前做一个项目也出现内存泄露,查找原因的过程太痛苦了。。”
“原来是再输入的时候又移位了阿。。哈哈 谢谢。 【 在 jmpesp 的大作中提到: 】 : 如果将文件以附加("a" 或者 "a+")模式打开,写入文件的任何数据总是会被附加在后面,不管文件指针的位置。”
“乱套了。。。”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。