![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译器
文章平均质量分 93
飞翼剑仆
C++, 编译器, LLVM, CAD/CAE
展开
-
C++在VC++(Windows)与GCC/LLVM(macOS/Linux)上的一些区别
在此,把C++在不同编译器,即VC++与GCC(或LLVM)上的一些区别记录下来,以备查阅。(注:以下VC++均是指VC++ 10.)基本数据类型、const关键字1. 基本数据类型的大小C++基本数据类型的大小对比 Windows macOS/Linux wchar_t 16 bits 32 bits long 32 bits 6...原创 2019-07-09 11:40:43 · 926 阅读 · 1 评论 -
flex&bison系列第一章:flex Hello World
基于flex写一个Hello World,并且编译运行成功原创 2022-08-09 07:21:03 · 680 阅读 · 0 评论 -
flex&bison系列第二章:写一个简单的单词统计工具Word Counter
基于flex,用C++写一个简单的单词统计工具Word Counter,并编译运行成功原创 2022-08-17 07:13:16 · 478 阅读 · 0 评论 -
flex&bison系列第三章:写一个简单的计算器Calculator
基于flex和bison,用C++写一个很简单的计算器程序,并编译运行成功原创 2022-08-22 07:19:21 · 2100 阅读 · 1 评论 -
LLVM系列第一章:编译LLVM源码
详细介绍如何利用CMake和Ninja工具来编译及安装LLVM。原创 2022-05-24 17:16:13 · 13008 阅读 · 2 评论 -
LLVM系列第二章:模块Module
用LLVM提供的C++ API,创建一个最简单的模块(Module),并打印出它的IR代码原创 2022-06-11 07:19:39 · 6295 阅读 · 4 评论 -
LLVM系列第三章:函数Function
用LLVM提供的C++ API,创建一个最简单的函数(Function),并打印出它的IR代码原创 2022-06-12 06:19:15 · 4260 阅读 · 0 评论 -
LLVM系列第四章:逻辑代码块Block
用LLVM提供的C++ API,创建一个最简单的逻辑代码块(Block),并打印出它的IR代码原创 2022-06-13 04:42:58 · 3323 阅读 · 0 评论 -
LLVM系列第五章:全局变量Global Variable
用LLVM提供的C++ API,创建一个全局变量(Global Variable),并打印出它的IR代码原创 2022-06-14 05:57:00 · 4186 阅读 · 0 评论 -
LLVM系列第六章:函数返回值Return
用LLVM提供的C++ API,创建一个带有返回值(Return)的函数,并打印出它的IR代码原创 2022-06-15 05:09:46 · 1882 阅读 · 2 评论 -
LLVM系列第七章:函数参数Function Arguments
用LLVM提供的C++ API,创建一个带有参数(Arguments)的函数(Function),并打印出它的IR代码原创 2022-06-16 09:10:24 · 2369 阅读 · 0 评论 -
LLVM系列第八章:算术运算语句Arithmetic Statement
用LLVM提供的C++ API,创建一个算术运算语句(Arithmetic Statement),并打印出它的IR代码原创 2022-06-17 08:35:41 · 1541 阅读 · 0 评论 -
LLVM系列第九章:控制流语句if-else
用LLVM提供的C++ API,创建简单的if-else控制流语句,并打印出它的IR代码原创 2022-06-19 06:10:46 · 2277 阅读 · 1 评论 -
LLVM系列第十章:控制流语句if-else-phi
用LLVM提供的C++ API,创建简单的if-else控制流语句,并打印出其带有phi指令的IR代码原创 2022-06-20 11:56:33 · 1879 阅读 · 1 评论 -
LLVM系列第十一章:写一个Hello World
基于LLVM库写一个Hello World原创 2022-05-26 09:09:32 · 2788 阅读 · 0 评论 -
LLVM系列第十二章:写一个简单的词法分析器Lexer
基于LLVM提供的API,用C++写一个简单的词法分析器(Simple Lexer)原创 2022-05-29 17:24:39 · 3788 阅读 · 0 评论 -
LLVM系列第十三章:写一个简单的语法分析器Parser
基于LLVM提供的API,用C++写一个简单的代码解析器(Parser)原创 2022-05-31 06:25:45 · 2651 阅读 · 0 评论 -
LLVM系列第十四章:写一个简单的语义分析器Semantic Analyzer
基于LLVM提供的API,用C++写一个很简单的词法分析器Semantic Analyzer原创 2022-06-03 14:55:17 · 2220 阅读 · 0 评论 -
LLVM系列第十五章:写一个简单的中间代码生成器IR Generator
基于LLVM提供的API,用C++写一个简单的中间代码(IR)生成器原创 2022-06-07 14:16:00 · 3840 阅读 · 1 评论 -
LLVM系列第十六章:写一个简单的编译器
基于LLVM提供的API,用C++写一个很简单的编译器,并用它编译出了我们自己的计算器程序原创 2022-06-10 08:28:24 · 2838 阅读 · 1 评论 -
LLVM系列第十七章:控制流语句for
用LLVM提供的C++ API,创建简单的for循环语句,并打印出它的IR代码原创 2022-06-23 09:06:11 · 1631 阅读 · 2 评论 -
LLVM系列第十八章:写一个简单的IR处理流程Pass
用LLVM提供的C++ API,创建一个简单的Pass,并编译运行成功原创 2022-06-25 06:26:26 · 3040 阅读 · 0 评论 -
LLVM系列第十九章:写一个简单的Module Pass
用LLVM提供的C++ API,创建一个简单的Module Pass,并编译运行成功原创 2022-06-26 06:30:33 · 2287 阅读 · 0 评论 -
LLVM系列第二十章:写一个简单的Function Pass
用LLVM提供的C++ API,创建一个简单的Function Pass,并编译运行成功原创 2022-06-28 05:27:54 · 1555 阅读 · 1 评论 -
LLVM系列第二十一章:写一个简单的Loop Pass
用LLVM提供的C++ API,写一个简单的Loop Pass,并编译运行成功原创 2022-07-02 18:37:39 · 1581 阅读 · 0 评论 -
LLVM系列第二十二章:写一个简单的编译时函数调用统计器(Pass)
用LLVM提供的C++ API,写一个简单的Pass,用来统计每个函数在编译时的调用次数,并进行测试原创 2022-07-08 07:31:30 · 1623 阅读 · 1 评论 -
LLVM系列第二十三章:写一个简单的运行时函数调用统计器(Pass)
用LLVM提供的C++ API,写一个简单的Pass,用来统计每个函数在运行时的调用次数,并测试一下原创 2022-07-11 05:49:04 · 1064 阅读 · 0 评论 -
LLVM系列第二十四章:用Xcode编译调试LLVM源码
用Xcode编译LLVM源码,并用opt作为例子,简单地调试一下与LLVM Pass相关的代码原创 2022-07-19 06:07:06 · 2212 阅读 · 2 评论 -
LLVM系列第二十五章:简单统计一下LLVM源码行数
简单地统计一下LLVM的源代码,看看其规模有多大原创 2022-07-23 06:20:41 · 1455 阅读 · 0 评论 -
LLVM系列第二十六章:理解LLVMContext
简单地分析一下LLVM API中的LLVMContext的作用和用法原创 2022-07-24 05:40:47 · 1794 阅读 · 1 评论 -
LLVM系列第二十七章:理解IRBuilder
简单地分析一下LLVM API中的IRBuilder的作用和用法原创 2022-07-25 05:37:03 · 2992 阅读 · 4 评论 -
LLVM系列第二十八章:写一个JIT Hello World
利用LLVM提供的OCR JIT引擎,编译并执行一段简单的IR代码原创 2022-07-30 07:46:13 · 1499 阅读 · 1 评论 -
LLVM系列第二十九章:写一个简单的常量加法“消除”工具(Pass)
用LLVM提供的C++ API,写了简单的Analysis和Pass,用来寻找并“消除”掉常量加法指令原创 2022-08-07 10:23:18 · 688 阅读 · 1 评论