标记编译器构造应该应用于有关编译器编程的问题或有关编译器详细内部工作的问题。请勿使用*使用*特定编译器或编译错误的问题。
符号表中ELF文件中SYMBOL类型STT_SECTION的用途
在ELF格式中,符号表中可以存在属于类型节的符号:STT_SECTION。 每个部分都可以通过使用部分标题表来识别。 STT_SECTION 服务的目的是什么...
我实际上正在阅读LFS书(版本7.1),并且在第53页被阻止。尝试编译gcc,我尝试了以下命令: ./configure --target=$LFS_TGT --prefix=$LFS/build/gcc-build --disa...
Makefile 使用头文件中的 #define 更改输出十六进制文件名
我在固件版本的头文件中使用#define。 makefile 可以将 #define 中的版本号附加到十六进制文件的名称中吗?我在 Windows 上使用 Atmel Studio。我能够你...
这是一个例子: #包括 结构体 C { ...
Spim MIPS 模拟器未启动(Stanford cs143)
目前正在尝试为斯坦福大学的cs143课程做作业。 (edx在线课程) 当我尝试运行 spim 时,出现以下错误: 文件目录显示该文件确实存在。我也不...
gcc源码中cfg_hooks的函数指针所指向的函数体在哪里可以找到?
在 gcc cfghooks.cc 中 空白 Predict_edge(边 e,枚举 br_predictor 预测器,int 概率) { if (!cfg_hooks->predict_edge) 内部错误(“%s不支持predict_edge”,
这已经困扰我一段时间了。 GCC和g++如何编译自己? 我猜测每个修订版都会使用之前构建的修订版进行编译。这是真的?如果是的话,这是否意味着
如何使用具有 epsilon 的语法在 SLR(1) 解析器中解析输入字符串?
这是我的语法: S → (S)S | ε 而我的输入字符串,我想使用 SLR(1) 进行解析: ()() 我尝试使用此问题中指定的方法制作 DFA,但无法解析它:( 单反(1)
我正在将编译器编写到 NASM 程序集中,只是为了好玩,但我一直在尝试在堆栈上的数组中实现索引。 我的编译器根据下面的输入生成以下程序集。我已经添加了
我一直在尝试找到一些材料来阅读,了解编译器/解析器如何能够检测它们设计用于编译/解析的语言的不同版本,以及它们如何处理...之间的冲突。
我已经编写了自己的编程语言和自托管编译器。我目前正在为这个自托管编译器创建 ide,并正在尝试制作 ide 和编译器
我已经编写了自己的编程语言和自托管编译器。我目前正在为编译器后端创建 ide,并且正在努力使编译器能够与 t...
在出于学习目的编写 C++ 解析器时,我有一个问题。 整数a,b; 模板 T Foo() {} int main() { 布尔 x = a < b; auto y = Foo(); } 在这里,<
我写了一个BPF目标文件,其中包括一个部分和一个静态内联函数,其定义如下: 静态内联 __attribute__((always_inline)) bpf_call_func(...); __节(“条目”)
我很难理解编译器如何处理超过 2 个节点的情况。 例如,假设我有一个程序,其中包含 3 个已定义的函数。该程序是我们的根节点和 3
我需要为 Itanium 编译代码,但似乎所有编译器(ecc、gcc、orc)都需要 Itanium 机器才能执行此操作。有什么建议吗?
所以这个问题可能看起来太新手了,但我已经在读 Steven Muchnick 的《高级编译器设计和实现》一书,在优化的第一章中它谈到了......
我需要将上下文无关文法 G 转换为 LL(1) 类型的等效文法,但我无法满足该文法属于 LL(1) 的条件。我已经进行了左分解并且
如何获取使用 Module::declare_data 声明的全局变量的地址? 我知道我可以使用 Module::declare_data_in_func 创建某种引用,但我可以使用的唯一方法......
使用 Cranelift 编译某些内容时是否有可能发出 ASM?我所说的“ASM”是指汇编器文本表示,例如Intel 语法或类似语法 现在我正在计划