看板 C_and_CPP 關於我們 聯絡資訊
我覺得這個好神 我不確定它是不是macro 至少我 F12 在VC是無法跳到定義.... 但我完全不知他怎麼有辦法知道行數 run time有辦法? compile time如果__LINE__不是macro又不可能可以替換 非常好奇他怎麼辦到的 諸如__FILE__阿 http://blog.roodo.com/bejo/archives/11456265.html 真誇張 這是因為C++還是VC特有的東西阿? 17978篇 t大似乎有講一點但實在看不太懂.... 可否請了解的人 稍微講一下他是怎麼實作的阿 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.70.221 ※ 編輯: QQ29 來自: 123.192.70.221 (08/03 01:29)
loveme00835:未看先猜前處理器內含counter算行數 08/03 02:01
loveme00835:http://paste.plurk.com/show/287952/ 08/03 02:02
hilorrk:C、C99、C++都有標準的predefined macro VC有額外加一些 08/03 02:24
hilorrk:怎麼實作...應該是dependent on compiler吧 08/03 02:26
hilorrk:不過我想簡單的preprocessor應該可以用直覺的方法實作@@ 08/03 02:28
softwind:__FILE__, __LINE__ 應該是標準的, 其他看compiler 08/03 02:50
softwind:__LINE__可以用perl在gcc前自行展開, __FILE__可以在 08/03 02:50
softwind:makefile裡面 下大D強制替換成 file name 08/03 02:51
softwind:C99 support Variadic macro, 又炫又好用 08/03 02:53
flashphp:推一個, 今天才知道這個很炫的東西 ^^" 08/03 09:27
holymars:我記得在哪看過..兩個_加上大寫字母開頭 都是predefined 08/03 17:19
holymars:macro...所以你自己的#define不能佔用這個格式 08/03 17:19