f***c 发帖数: 338 | 1 写了一段代码,用g++编译顺利通过。
想到前几天曾讨论过编译器对int main(),void main()的处理不同问题,就顺手试了cc
和gcc。这一试不打紧,居然都不能通过。
OS: Debian GNU/Linux 6.0.3 (squeeze)
然后就看看个编译器的version,居然是一样的。但是对同样的代码的编译处理区别怎
么这么大呢?
彻底懵了,请达人解惑,谢谢。
g++ -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --
with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c
++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=
/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-
include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-
clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --
with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=
x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.5 (Debian 4.4.5-8)
cc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --
with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c
++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=
/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-
include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-
clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --
with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=
x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.5 (Debian 4.4.5-8)
gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --
with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c
++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared
--enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=
/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-
include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-
clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --
with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=
x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.5 (Debian 4.4.5-8) |
c*********e 发帖数: 16335 | 2 还有更多复杂的参数你还没用到呢。
cc
【在 f***c 的大作中提到】 : 写了一段代码,用g++编译顺利通过。 : 想到前几天曾讨论过编译器对int main(),void main()的处理不同问题,就顺手试了cc : 和gcc。这一试不打紧,居然都不能通过。 : OS: Debian GNU/Linux 6.0.3 (squeeze) : 然后就看看个编译器的version,居然是一样的。但是对同样的代码的编译处理区别怎 : 么这么大呢? : 彻底懵了,请达人解惑,谢谢。 : g++ -v : Using built-in specs. : Target: x86_64-linux-gnu
|
w***g 发帖数: 5958 | 3 他们在你的系统下就是同一个东西。
cc
【在 f***c 的大作中提到】 : 写了一段代码,用g++编译顺利通过。 : 想到前几天曾讨论过编译器对int main(),void main()的处理不同问题,就顺手试了cc : 和gcc。这一试不打紧,居然都不能通过。 : OS: Debian GNU/Linux 6.0.3 (squeeze) : 然后就看看个编译器的version,居然是一样的。但是对同样的代码的编译处理区别怎 : 么这么大呢? : 彻底懵了,请达人解惑,谢谢。 : g++ -v : Using built-in specs. : Target: x86_64-linux-gnu
|
j*****I 发帖数: 2626 | 4 我怎么记得在link的时候还是有点不一样的。
【在 w***g 的大作中提到】 : 他们在你的系统下就是同一个东西。 : : cc
|
z********0 发帖数: 9013 | 5 normally, cc is gcc
gcc uses C frontend
g++ uses C++ frontend
gcc -c -S a.c -v 2>&1 |grep cc1
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/cc1 -quiet -v a.c -quiet -
dumpbase a.c -mtune=generic -march=x86-64 -auxbase a -version -o a.s
g++ -c -S a.c -v 2>&1 |grep cc1
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/cc1plus -quiet -v -D_GNU_SOURCE
a.c -quiet -dumpbase a.c -mtune=generic -march=x86-64 -auxbase a -version -
o a.s |
r****t 发帖数: 10904 | 6 haha.你要求的语言不一样了
cc
【在 f***c 的大作中提到】 : 写了一段代码,用g++编译顺利通过。 : 想到前几天曾讨论过编译器对int main(),void main()的处理不同问题,就顺手试了cc : 和gcc。这一试不打紧,居然都不能通过。 : OS: Debian GNU/Linux 6.0.3 (squeeze) : 然后就看看个编译器的version,居然是一样的。但是对同样的代码的编译处理区别怎 : 么这么大呢? : 彻底懵了,请达人解惑,谢谢。 : g++ -v : Using built-in specs. : Target: x86_64-linux-gnu
|