# llvm-Mybuild **Repository Path**: BAIJIE4015/llvm ## Basic Information - **Project Name**: llvm-Mybuild - **Description**: 基于llvm22.0.0修改 - **Primary Language**: C/C++ - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-15 - **Last Updated**: 2025-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # llvm #### 介绍 基于llvm22.0.0修改 #### 软件架构 原本支持的基础类型: {"int8_t", "i8" }, {"int16_t", "i16" }, {"int32_t", "i32" }, {"int64_t", "i64" }, {"uint8_t", "u8" }, {"uint16_t", "u16" }, {"uint32_t", "u32" }, {"uint64_t", "u64" }, {"char8_t", "c8" }, {"char16_t", "c16" }, {"char32_t", "c32" }, {"float", "f" }, {"double", "d" }, {"char", "c" }, {"bool", "b" }, {"_Bool", "b" }, {"int", "i" }, {"size_t", "n" }, {"wchar_t", "wc" }, {"short int", "si" }, {"short", "s" }, {"signed int", "si" }, {"signed short", "ss" }, {"signed short int", "ssi" }, {"signed long long int", "slli"}, {"signed long long", "sll" }, {"signed long int", "sli" }, {"signed long", "sl" }, {"signed", "s" }, {"unsigned long long int", "ulli"}, {"unsigned long long", "ull" }, {"unsigned long int", "uli" }, {"unsigned long", "ul" }, {"unsigned short int", "usi" }, {"unsigned short", "us" }, {"unsigned int", "ui" }, {"unsigned char", "uc" }, {"unsigned", "u" }, {"long long int", "lli" }, {"long double", "ld" }, {"long long", "ll" }, {"long int", "li" }, {"long", "l" }, {"ptrdiff_t", "p" }, {"void", "" }}; 原本支持的用户类型: {"BOOL", "b" }, {"BOOLEAN", "b" }, {"BYTE", "by" }, {"CHAR", "c" }, {"UCHAR", "uc" }, {"SHORT", "s" }, {"USHORT", "us" }, {"WORD", "w" }, {"DWORD", "dw" }, {"DWORD32", "dw32"}, {"DWORD64", "dw64"}, {"LONG", "l" }, {"ULONG", "ul" }, {"ULONG32", "ul32"}, {"ULONG64", "ul64"}, {"ULONGLONG", "ull" }, {"HANDLE", "h" }, {"INT", "i" }, {"INT8", "i8" }, {"INT16", "i16" }, {"INT32", "i32" }, {"INT64", "i64" }, {"UINT", "ui" }, {"UINT8", "u8" }, {"UINT16", "u16" }, {"UINT32", "u32" }, {"UINT64", "u64" }, {"PVOID", "p" }, 增加的自定义类型: {"vector", "vec" }, {"list", "lst" }, {"map", "map" }, {"unordered_map", "umap" }, {"set", "set" }, {"unordered_set", "usst" }, {"queue", "queue" }, {"stack", "stk" }, {"deque", "dq" }, {"pair", "pair" }, {"tuple", "tuple" }, {"array", "arr" }, {"QMap", "qmap" }, {"QVector", "qvec" }, {"QString", "qstr" }, {"QList", "qlist" }, {"QStringList", "qstrlst" }, {"QHash", "qhash" }, {"QSet", "qset" }, {"QStack", "qstk" }, {"QQueue", "qqueue" }, {"QStringBuilder", "qstrbld" }, {"QByteArray", "qbytearr" }, {"QChar", "qchar" }, {"QDataStream", "qdatstr" }, {"QDebug", "qdebug" }, {"QDir", "qdir" }, {"QFile", "qfile" }, {"QFileInfo", "qfileinf" }, {"QFont", "qfont" }, {"QFontInfo", "qfontinf" }, {"QGenericArgument", "qgenarg" }, {"QGenericReturn", "qgenret" }, {"QHash", "qhash" }, {"QIcon", "qicon" }, {"QImage", "qimg" }, {"QInputEvent", "qinputev" }, {"QKeyEvent", "qkeyev" }, 在.clang-tidy可以通过 - key: readability-identifier-naming.HungarianNotation.UserDefinedType.MYBOOL value: "MyB" 增加自定义类型 自定义类可以通过脚本生成.Class文件 放在工程目录下 自动检测 前缀增加obj #### 安装教程 vscode中指定clang-tidy.exe和clang-format.exe路径 并在工程下增加.clang-tidy和.clang-format文件 #### 使用说明 vscode中安装clang-tidy和clang-format插件指定路径 #### 编译源码 指令 mkdir build && cd build cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ../llvm ninja clang-tidy