[問題] 有可能寫一隻程式去更改另一隻程式的語法嗎??

看板C_and_CPP (C/C++)作者 (發呆騎士kick)時間16年前 (2009/04/03 23:27), 編輯推噓5(5016)
留言21則, 9人參與, 最新討論串1/1
各位前輩你們好,小弟這個問題可能很模糊!! 但這個意思就是寫一個檢測程式去偵測另一隻程式後,將一些函數改為我自定的格式, 例如: 程式A~C裡頭都有: char i[5]; 但可以用另一個程式將char定義為 int i[5]; 也就是執行自己撰寫的程式後 例如 change.exe A.cpp後.. 裡頭的char i[5]都變成int i[5]這樣。 表達的不是很清楚,也請各位前輩多多見諒。 也希望前輩們可以提供一下方法來讓小弟學習,謝謝m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.121.26.81

04/03 23:29, , 1F
改程式碼嗎?
04/03 23:29, 1F

04/03 23:30, , 2F
sed -e 's/char/int/' -i A.cpp 對不然,我來亂的= =
04/03 23:30, 2F

04/03 23:30, , 3F
s/然/起/
04/03 23:30, 3F

04/03 23:31, , 4F
對 改程式碼....很像替代這種方式 ...
04/03 23:31, 4F

04/03 23:34, , 5F
如果讀檔去改?碰到類似字串就死定了
04/03 23:34, 5F

04/03 23:35, , 6F
所以可能要加判斷的語句!!!就是要不要更改這句@@"
04/03 23:35, 6F

04/03 23:35, , 7F
如果厲害一些的,搞不好可以用complier的原理來改?
04/03 23:35, 7F

04/03 23:37, , 8F
我沒這麼強 改compiler 囧rz...只能以程式判斷語句 囧
04/03 23:37, 8F

04/03 23:38, , 9F
很容易吧..用script去弄比較方便
04/03 23:38, 9F

04/03 23:39, , 10F
可以請前輩寫一下簡單的範例嗎@@" 我沒弄過這東西囧>
04/03 23:39, 10F

04/03 23:48, , 11F
用 ultraedit 的 replace in files
04/03 23:48, 11F

04/04 02:02, , 12F
讀檔一行一行抓 抓出i[5] 往前判斷並抓出char改成int?
04/04 02:02, 12F

04/04 02:57, , 13F
typedef char myType;
04/04 02:57, 13F

04/04 02:57, , 14F
把char i[5]換成 myType i[5]
04/04 02:57, 14F

04/04 02:58, , 15F
然後再把 typedef 改成 typedef int myType
04/04 02:58, 15F

04/04 02:58, , 16F
免得有人又要你改回去 XD
04/04 02:58, 16F

04/04 03:11, , 17F
讓你的程式去寫程式, 然後編玩讓他跑起來, 這樣算嗎?
04/04 03:11, 17F

04/04 07:07, , 18F
如果是要改執行檔的型別 應該不可能吧
04/04 07:07, 18F

04/04 15:23, , 19F
感謝各位前輩回答!!基本上就是做到像是word的搜尋取代啦.
04/04 15:23, 19F

04/04 15:24, , 20F
只是用C不知道這麼寫@@"" 就這樣囧rz
04/04 15:24, 20F

04/04 15:25, , 21F
zhi大的意思沒錯就是這樣囧""
04/04 15:25, 21F
文章代碼(AID): #19rYhxKV (C_and_CPP)
文章代碼(AID): #19rYhxKV (C_and_CPP)