Re: [wizs] 关于 .o 档的资料变更

楼主: laechan (挥泪斩马云)   2019-01-31 15:13:39
打报告打到快睡着,这篇大致提一下做法。
首先去 read .o 档,然后 explode
strs=read_file(files+".o");
tmps=explode(strs,"\n");
接着土法炼钢,读出每个变量
foreach(tmp in tmps)
{
i=0;
while(tmp[i..i]!=" ")
i++;
vars=([tmp[0..i],
}
然后去产生一个临时的 .c 档:
[email protected]
inherit DAEMON;
LONG
;
content+="mixed ";
foreach(tmp in tmps)
content+=tmp+",";
content+="\n\n";
[email protected]
void create()
{
::create();
seteuid(getuid(this_object()));
LONG;
content+=" restore_object("+file+");\n}\n\n";
write_file("/open/tmp_load.c",content);
update_files("/open/tmp_load");
这样 /open/tmp_load.c 就能用来 restore 目标 .o 档,并且
将加载的变量资料也全部存在这个 tmp_load.c 物件里头。
当然实际上跟 running 一样,这东西写起来是落落长的,不过
如果能写出来,好处很多。
LAechan

Links booklink

Contact Us: admin [ a t ] ucptt.com