→ king19880326:其實原po是問怎麼實作的@@ 08/04 00:07
推 VictorTom:推y大的說明, 小弟以前在自家的code看過卻都不曉得怎麼 08/04 00:16
→ VictorTom:用的, 但是多用在如y大例子說到的地方:) 08/04 00:17
→ WPC001:應該是編譯器的前置處理器幫你處理掉了, 而非程式碼 08/04 00:26
推 QQ29:Thx只是他到底怎麼有辦法算出行數和哪個file name...自己想做 08/04 00:35
→ QQ29:作不到吧? 08/04 00:35
→ softwind: @@" 我不是已經回給你了嗎? 08/04 00:58
→ tinlans:執行 gcc -E 或 cpp 就能得到前處理器處理後的程式碼。 08/04 01:14
→ tinlans:前處理器就是文字處理器,算行號這種小學生作業等級的功能 08/04 01:14
→ tinlans:要實作會有什麼困難嗎? 08/04 01:15
→ loveme00835:XD 08/04 01:15
→ tinlans:真的懶的話還能用 cat -n 再 pipe 給 awk 抓第一個 column 08/04 01:16
推 VictorTom:XD t大Good Job....XD 08/04 01:21
→ VictorTom:Compiler肯定能知道自己compile的source與行號呀XD 08/04 01:22
→ tinlans:compiler 倒是未必能準確知道行號,它 parse 完 code 以後 08/04 01:28
→ tinlans:這些資訊要特別存起來才行,不然 compiler 看到的只是一些 08/04 01:29
→ hilorrk:我到大二才第一次用lex+yacc寫出小學生的作業...(泣 08/04 01:29
→ tinlans:tree 的結構。所以如果一個 function call 送引數拆成多行 08/04 01:29
→ tinlans:送,出錯的時候 compiler 只會顯示開頭那行或末行錯誤。 08/04 01:29
→ tinlans:行號計數用不到工具吧,while(getline(input, line)) ++i; 08/04 01:31
→ yoco315:編譯器都可以從原始碼生出.exe了,順手算一下行號不為過阿 08/04 01:48
→ yoco315:所以這也沒有什麼到底不到底的阿XD QQ29這很難想像嗎 @@? 08/04 01:48
→ hilorrk:yoco大還沒回答我貴公司是在做什麼的耶 很好奇XD 08/04 01:50
推 peefly:樓上別哭,我到大三才第一次用lex+yacc寫出小學生的作業... 08/04 05:02
→ tinlans:有沒有這麼誇張,算行號和把 __LINE__ 代換就用 lex/yacc 08/04 05:47
推 ikari512:XDD 用到lex/yacc真的太扯了 這把牛刀也太大了點XD 08/04 08:57
→ ikari512:然後...QQ29可能有點想偏了,一個程式(compiler)要知道 08/04 09:00
→ ikari512:自己在處理哪一個檔案和處理到檔案的哪裡會很難嗎 08/04 09:00
→ ikari512:如果真的無法想像,按照K&R去實作wc/cat/head就會了解了 08/04 09:01
推 VictorTom:確實compile完後是剩下AST, 不過小弟就是只額外去記錄這 08/04 09:12
→ VictorTom:些資訊啦XD 雖然有想過經過cpp後是否會導致行號改變, 不 08/04 09:13
→ VictorTom:過感覺也不是不能克服的問題就是了:) 08/04 09:13
→ tinlans:經過 cpp 會打上 # 1 "file" 這種標示哪個檔哪一行的東西 08/04 10:30
→ tinlans:不然 #include 一個 header 就整個偏掉了, 08/04 10:31
→ tinlans:雖然不 #include 任何東西也會偏掉 XD 08/04 10:31
推 VictorTom:原來不include也會偏掉....XD 08/04 13:40
推 king19880326:QQ29不是資工系的嗎,compiler跟系統程式應該是必修吧 08/04 15:44
→ tinlans:可能年級還沒到修那些課吧。 08/04 16:45
→ loveme00835:樓樓上...0.0 08/04 16:50
推 VictorTom:小弟我修完了那兩堂課也還是不知道這種東西(掩面Q_Q~) 08/04 16:52
→ VictorTom:以前修的課, 有些都到了真正工作以後才有些感覺....Orz 08/04 16:53
→ yoco315:EDA tool @@ 08/04 21:54
推 QQ29:沒修過阿 修過也都是混過 08/04 23:51
→ akasan:前幾天問學弟才知道118大學部沒開系統程式...<囧> 08/05 00:00
→ tinlans:系統程式十年前就一堆大學資工系停開了。 08/05 02:26
→ yoco315:只好去找宅色夫進修 >///< 08/05 21:35
→ hilorrk:我118的 老師說系統程式太雜太難教..不如分到各科一點一 08/06 12:57
→ hilorrk:點教XD... 08/06 12:57