根据下面的 recognize-compilers.sh 脚本的输出,Cygwin 上似乎可以使用以下 C 编译器。那些标记为“Cygwin”的要求 cygwin1.dll 文件可用。
“pc”和“w64”编译器有什么区别?
为什么没有 x86_64-pc-mingw-gcc.exe 可执行文件?
还有其他可用的 C 编译器吗?
/usr/bin/gcc.exe 64-bit Cygwin
/usr/bin/i686-pc-cygwin-gcc.exe 32-bit Cygwin
/usr/bin/i686-pc-mingw32-gcc.exe 32-bit
/usr/bin/i686-w64-mingw32-gcc.exe 32-bit
/usr/bin/x86_64-pc-cygwin-gcc.exe 64-bit Cygwin
/usr/bin/x86_64-w64-mingw32-gcc.exe 64-bit
$ cat identify-compilers.sh
#!/bin/bash
for c in $(ls -1 /usr/bin/*gcc.exe); do
echo === compiler: $c
$c -o hello.exe hello.c
objdump -p hello.exe | grep -i "cygwin"
objdump -p hello.exe | grep -i "64$"
rm hello.exe
done
gcc
只是一个硬链接x86_64-pc-cygwin-gcc
x86_64-pc-cygwin-gcc
and i686-pc-cygwin-gcc
正如你所说的
Cygwin 编译器,也就是说创建依赖于
在cygwin1.dll
x86_64-w64-mingw32-gcc
and i686-w64-mingw32-gcc
是否提供编译器
由Mingw-w64 项目 http://mingw-w64.org
i686-pc-mingw32-gcc
是由提供的编译器MinGW项目 http://mingw.org
您可能想知道,为什么是两个 Mingw 项目? Mingw-w64 项目是
开始是因为 MinGW拒绝领养 http://sourceforge.net/p/mingw-w64/wiki2/History64 位编译器。这之间
以及开始的MSYS2 项目 http://msys2.sourceforge.net,我考虑MinGW项目
过时的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)