Re: [wizs] 關於 .o 檔的資料變更
看板mud_sanc (Sanctuary - 聖殿)作者laechan (揮淚斬馬雲)時間6年前 (2019/01/31 15:13)推噓0(0推 0噓 7→)留言7則, 2人參與討論串2/2 (看更多)
打報告打到快睡著,這篇大致提一下做法。
首先去 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 檔:
content=@LONG
inherit DAEMON;
LONG
;
content+="mixed ";
foreach(tmp in tmps)
content+=tmp+",";
content+="\n\n";
content+=@LONG
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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.106.224
※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1548918823.A.EBD.html
→
01/31 15:14,
6年前
, 1F
01/31 15:14, 1F
→
01/31 15:15,
6年前
, 2F
01/31 15:15, 2F
→
01/31 16:41,
6年前
, 3F
01/31 16:41, 3F
→
01/31 16:48,
6年前
, 4F
01/31 16:48, 4F
→
01/31 16:51,
6年前
, 5F
01/31 16:51, 5F
→
01/31 16:53,
6年前
, 6F
01/31 16:53, 6F
→
01/31 17:53,
6年前
, 7F
01/31 17:53, 7F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
mud_sanc 近期熱門文章
2
2
PTT遊戲區 即時熱門文章
42
83