看板 Programming 關於我們 聯絡資訊
※ 引述《sorryChen (陳揚和)》之銘言: : GCC preprocessor 中 : '#'符號有特別的意義 是將參數變成字串 : ex: #define STRINGLIZE(ivalue) #ivalue : STRINGLIZE(1)會是 "1" : '##'也有特別的意義 是將兩個參數接在一起 : 我的問題是, 如何escape '#'這個符號呢? : ex: : #define __MYFLAG__ '#pragma OMP for' : preprocessor 會把#當成特殊符號 要怎麼escape呢 : 我試過 #define __MYFLACG(a) a : 然後再用 #pragma 填到a中 好像不行...不知道有沒有高手知道正卻的作法 這樣的話倒不如使用類似這樣的寫法 #ifdef USEOMP #pragma OMP for #endif 然後編譯時用 -D 定義符號即可打開... -- 'You've sort of made up for it tonight,' said Harry. 'Getting the sword. Finishing the Horcrux. Saving my life.' 'That makes me sound a lot cooler then I was,' Ron mumbled. 'Stuff like that always sounds cooler then it really was,' said Harry. 'I've been trying to tell you that for years.' -- Harry Potter and the Deathly Hollows, P.308 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84