LLVM 編譯器學習筆記之六 預處理

2021-10-12 17:54:16 字數 475 閱讀 2129

1、llvm 中使用builder.definemacro定義builtin巨集,類似gcc的builtin_define,以下是llvm8 中定義對gcc 4.2.1版本相容性巨集__gnuc__的示例

配套的介面還有ismacrodefined及undefinemacro

2、巢狀優先順序 在

builder.definemacro中可以定義一些符號,比如ss , 然後在標頭檔案中可以進一步使用 #define ss 進行展開,這樣可以讓builder.definemacro的定義簡潔一點

3、參考使用asm關鍵字達成符號名的重新命名,相容gcc's, `documented here `_

學習筆記 vi 編譯器

linux 使用文字檔案來保持配置檔案 文字編輯器 ascii檔案 emacs vi vi visual inte ce 全屏文字編輯,nano 模式化的編輯器 moduler vim vi improved vi的模式 輸入模式 末行模式 vim的內建的命令列介面,執行vim內建命令 編輯模式 輸...

LLVM之爺談下一代編譯器

分類 編譯原理 開源技術 2011 09 21 21 59 521人閱讀收藏 舉報llvm之父,相信有很多人都知道,chris lattner 從2000年開始,搞llvm到現在。llvm最初的想法還是來自chris lattner的導師 vikram adve。the next generatio...

嵌入式學習筆記之gcc編譯器

原始檔需要經過編譯才能生成可執行檔案,pc下的編譯工具鏈為gcc,ld,objcopy等,它們編譯出來的程式在x86平台下執行,要編譯出可以在arm平台執行的程式,就需要使用交叉編譯工具 arm linux gcc,arm linux ld等,主要介紹前者.乙個c c 檔案要經過 預處理 prepr...