擅长:python、mysql、java
<p>你在那儿计划的项目可真是个大工程。除了学习编译器的工作原理外,您还需要阅读诸如ELF之类的可加载文件格式,以及大量有关操作系统详细信息的信息。在</p>
<p>我建议您将发出一个<em>汇编文件</em>作为编译器的输出。然后可以使用现有的汇编程序将文件转换为机器代码。事实上,这是大多数C编译器(包括GCC)在“表面之下”所做的事情。在</p>
<p><strong>编辑:</strong>编译器或汇编程序的输出通常是<em>对象文件</em>。稍后,链接器会将其与其他对象文件相结合。编写整个工具链、编译器、汇编程序、链接器和其他相关工具很容易就要花费数个人年的时间。从这个角度看,我不认为你应该看到一个直接的解决方案,如使用现有的汇编程序和链接器是作弊。在</p>