mingw 和 gcc 只是后端不同吗?

问题描述 投票:0回答:1

我们知道编译器通常由三部分组成:前端、中间表示(优化器)、后端

我对mingw的理解:

  1. mingw使用了gcc的编译器前端和IR优化

  2. mingw后端生成符合COFF规范的obj文件,而传统gcc在Linux平台上生成符合elf规范的.o文件

我的理解正确吗?

我google了很多关于mingw的信息,但是关于编译器前端、优化器、后端的信息很少

compiler-construction mingw mingw-w64
1个回答
0
投票

MinGW - 及其更新的分支 MinGW-w64 - 更像是 C/C++ 标准库的替代品。它们提供了 Windows 原生标准库的大部分内容(例如用于其他平台的 newlib)。

MinGW 这个名字有时用来指代整个工具包,但基本上它是带有 MinGW(-w64) 标准库的针对本机 Windows 的 GCC。

Windows 二进制文件(

.exe
.dll
文件)是 PE 文件(或 64 位 Windows 的 PE+),基于 COFF 文件格式。

请注意,除了 GCC(例如 https://winlibs.com/)之外,还有一个基于 LLVM 的 MinGW-w64 工具包(https://github.com/mstorsjo/llvm-mingw/releases)。

© www.soinside.com 2019 - 2024. All rights reserved.