根据下面的identify-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
答案 0 :(得分:3)
gcc
只是x86_64-pc-cygwin-gcc
x86_64-pc-cygwin-gcc
和i686-pc-cygwin-gcc
正如您所说的那样
Cygwin编译器,也就是说创建依赖程序的编译器
在cygwin1.dll
x86_64-w64-mingw32-gcc
和i686-w64-mingw32-gcc
是提供的编译器
通过Mingw-w64 project
i686-pc-mingw32-gcc
是由MinGW project提供的编译器