[問題] 如何新增一個餵參數的flag?
開發平台(Platform): (Ex: Win10, Linux, ...)
linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
clang/gcc
問題(Question):
我打算用clang寫一個source to source generation, 目前已經寫好基本的架構了,功能
正在慢慢加進去
(有一個generate.cpp可編譯成執行檔 然後./generate in.c 就會產生 out.c , 執行檔會去
traverse in.c中每行code, out.c暫時只有產生int main進去而已)
現在想要 ./generate in.c -myflag xxxx , 其中xxxx是in.c中的function name,產生的
out.c裡面會有整個xxxx function, 複製function我大概有想法怎麼做, 不過建立一個
flag並傳遞參數這邊我實在是觀念貧乏
因為以前實在沒碰過自訂一個flag不曉得該從哪邊下手。用google找custom flag也沒有
看到相關的資訊,感覺是關鍵字下錯了可是我不太確定該怎麼描述這個問題囧
請問有沒有人能夠提供一些比較精準的關鍵字讓讓我研究看看呢? 謝謝
補充說明(Supplement):
我主要想用在clang上,不過有gcc可以研究看看也可以喔,謝謝
**補充一下我後來選擇的方法**
研究了-D和getopt之後我的理解是這兩個方式好像都須要告訴使用者該給什麼參數
來做對應的事,但我的case不確定使用者會丟什麼input file,也不知道他會選擇哪個
function,無法用預設的方式來處理。(如果這理解有錯誤麻煩指正一下囧)
http://www.rapidtables.com/code/linux/gcc/gcc-d.htm
http://man7.org/linux/man-pages/man3/getopt.3.html
所以我研究了Sidney0503 大大建議的argc,argv之後,就用argv來做了。我簡單寫了一個
arg_parse(),把argc, argv轉成全域變數來處理,有需要的可以參考看看
https://goo.gl/VnPvFo
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.57.193
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1492017698.A.6E3.html
→
04/13 02:49, , 1F
04/13 02:49, 1F
→
04/13 02:52, , 2F
04/13 02:52, 2F
謝謝,我會研究看看!
→
04/13 02:54, , 3F
04/13 02:54, 3F
沒有,你這樣說我才發現原本想的方式不對囧 已修改問題了真的非常感謝
推
04/13 07:25, , 4F
04/13 07:25, 4F
好的, 謝謝提點!
→
04/13 09:49, , 5F
04/13 09:49, 5F
已補充, 謝謝
推
04/13 13:17, , 6F
04/13 13:17, 6F
→
04/13 13:17, , 7F
04/13 13:17, 7F
推
04/13 15:58, , 8F
04/13 15:58, 8F
→
04/13 16:04, , 9F
04/13 16:04, 9F
※ 編輯: lulumi0618 (114.33.211.94), 04/15/2017 12:18:12
推
04/26 20:55, , 10F
04/26 20:55, 10F