测试了一下 vim 的 libcall()
发表于 : 2011-06-01 23:15
手册中没说明白,返回的内存块如何处理,简单的测试了一下,很明显,vim 不作为。
可发现内存不断消耗,很快就会提示
“无法 fork”
代码: 全选
#define SIZE 1024*1024*100
char *test(char *a)
{
int i;
char *r=(char *)malloc(SIZE);
for(i=0; i<SIZE; ++i)
r[i]='A';
return r;
}
代码: 全选
fun! Test()
let i=0
while i<1024
redraw
call libcall("/home/fb/work/vimide/test.so", "test", "")
!free -m | grep '^-'
sleep 1
let i+=1
endwhile
endfun
“无法 fork”